정규표현식 lookahead, lookbehind

Array.prototype·2022년 5월 25일
0

프로덕트가 사파리에서 아래와 같은 에러를 뿜어내고 있었다.

SyntaxError: Invalid regular expression: invalid group specifier name

정규식이 문제가 있어보인다.
caniuse에서 확인해보니 사파리는 정규식의 lookbehind는 지원하지 않고있었다.
https://caniuse.com/?search=lookbehind

문제가 되던 소스는

new RegExp(`(?<=.{${name.length - 1}}).`, 'gi')

이 부분으로

X(?=Y) - Positive lookahead
X(?!Y) - Negative lookahead
(?<=Y)X - Positive lookbehind
(?<!Y)X - Negative lookbehind

라고한다.
구체적인것은 좀 더 파고들어야 하지만 정규식은 왜 이렇게 하기 싫은걸까...
그냥 그때그때 찾아보는 정도랄까 굳이 깊게 알고싶지는 않은 느낌이다.
무튼 문제가 되는 소스를 다른 방식의 정규식으로 변환해주면 끝.

profile
frontend developer

0개의 댓글