당신은
(
을 탈출해야
및 )
그들이 가지고 있기 때문에 "("왜
왜 표현이 포함되어있는 경우 일치하지 않습니다. 작동하는 것 같다 special meaning in regex :
var find = "\\{\\(y-7\\)\\}"
동일 이름은 {
and }
을 나타냅니다.
이 이스케이프는 정규식 (즉, find
)에서만 발생해야하며 foo
은 보통 문자열이므로 그대로 사용하면됩니다.
는 당신이 덜 이스케이프가 자바 스크립트의 기능 내장을 사용하는 것이 좋습니다 :
var re = /\{\(y-7\)\}/g;
업데이트를
문자열은 그렇게 나에게 넘겨진다, 그래서 교체 할 필요가
var find = "{(y-7)}";
find = find.replace("\\", "\\\\")
.replace("(", "\\(").replace(")", "\\)")
.replace("{", "\\{").replace("}", "\\}");
나는 이것을 "도피 지옥"이라 부르지 만, 정규 표현식을 생성하는 것은 사소한 것이 아닙니다. 너는 운이 좋겠지 만. 먼저 사용법을 익히고 생성을 시도하는 것이 좋습니다.
괄호는 그룹화에 사용되는 특수 문자로, 이스케이프 처리해야하는 문자 괄호가 있습니다. –