javascript를 사용하여 정규 표현 특수 문자를 피하는 방법
자바 스크립트를 사용하여 정규 표현 특수 문자를 이스케이프해야 합니다.어떻게 하면 좋을까요?어떤 도움이라도 감사히 받겠습니다.
빠른 답변 감사합니다.하지만 나는 정규 표현의 모든 특수 문자에서 벗어나야 한다.나는 이 코드로 시도했지만, 나는 결과를 얻을 수 없다.
RegExp.escape=function(str)
{
if (!arguments.callee.sRE) {
var specials = [
'/', '.', '*', '+', '?', '|',
'(', ')', '[', ']', '{', '}', '\\'
];
arguments.callee.sRE = new RegExp(
'(\\' + specials.join('|\\') + ')', 'gim'
);
}
return str.replace(arguments.callee.sRE, '\\$1');
}
function regExpFind() {
<%--var regex = new RegExp("\\[munees\\]","gim");--%>
var regex= new RegExp(RegExp.escape("[Munees]waran"));
<%--var regex=RegExp.escape`enter code here`("[Munees]waran");--%>
alert("Reg : "+regex);
}
이 코드에 문제가 있는 것은 무엇입니까?안내 좀 해주세요.
를 사용합니다.\정규 표현 안에 특별한 의미가 있는 문자를 탈출하기 위한 문자입니다.
다음을 사용하여 자동화할 수 있습니다.
function escapeRegExp(text) {
return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
}
업데이트: ES2016에서 이 방법을 표준화하는 제안이 있습니다.https://github.com/benjamingr/RegExp.escape
업데이트: 상기 제안은 거부되었으므로 필요에 따라 직접 구현하십시오.
문자를 이스케이프하려면 백슬래시를 사용합니다.예를 들어 다음과 같습니다.
/\\d/
숫자 대신 \d와 일치합니다.
와 함께\당신은 특수 문자를 탈출합니다.
특수 문자를 리터럴 문자로, 리터럴 문자를 특수 문자로 이스케이프합니다.
예:
/\(s\)/일치시키는 동안/(\s)/는 임의의 공백과 일치하여 일치하는 내용을 캡처합니다.
출처 : http://www.javascriptkit.com/javatutors/redev2.shtml
언급URL : https://stackoverflow.com/questions/3115150/how-to-escape-regular-expression-special-characters-using-javascript
'programing' 카테고리의 다른 글
| Android Studio 프로젝트에서 .jar를 만드는 방법 (0) | 2022.11.02 |
|---|---|
| 클리어하기 위한 리모트 접속DB heroku 데이터베이스 (0) | 2022.10.31 |
| Reader와 InputStream의 차이점은 무엇입니까? (0) | 2022.10.31 |
| SSH 터널을 통한 DBeaver 연결 (0) | 2022.10.31 |
| MariaDB Column Store를 Django(Django-ORM)와 함께 사용할 수 있습니까? (0) | 2022.10.31 |