IT/JavaScript
[JS] Invalid regular expression: invalid group specifier name
Tesseractjh
2022. 6. 21. 00:46
Safari에서는 정규표현식의 후방탐색(lookbehind, ?<=, ?<!)을 지원하지 않는다. 만약 정규표현식에 후방탐색이 포함되어 있다면 콘솔에 Invalid regular expression: invalid group specifier name가 뜨며 에러가 발생한다.
정규표현식에서 후방탐색을 대체하는 방법은 상황에 따라 다르겠지만 capturing group을 활용하면 아래와 같은 정규표현식에서 후방탐색을 대체할 수 있다.
const str = 'string.001';
const number = str.match(/(?<=\.)\d+/)[0]; // '001'
const str = 'string.001';
const number = str.match(/\.(\d+)/)[1]; // '001'
(2023년 2월 23일 추가)