정규식에서 변수를 사용하는 방법은 무엇입니까?
P粉763748806
P粉763748806 2023-08-23 15:12:16
0
2
630
<p>JavaScript에서 <code>String.replaceAll()</code> 메소드를 만들고 싶은데 정규식을 사용하는 것이 가장 깔끔한 방법이라고 생각합니다. 그러나 정규식에 변수를 전달하는 방법을 모르겠습니다. <code>"B"</code>의 모든 인스턴스를 <code>"A"</code>로 바꾸면 이미 이 작업을 수행할 수 있습니다. </p> <pre class="brush:php;toolbar:false;">"ABABAB".replace(/B/g, "A");</pre> <p>하지만 저는 다음과 같은 작업을 하고 싶습니다.</p> <pre class="brush:php;toolbar:false;">String.prototype.replaceAll = function(replaceThis, withThis) { this.replace(/replaceThis/g, withThis); };</pre> <p>하지만 이것은 <code>"replaceThis"</code> 텍스트만 대체할 것 같습니다... 그렇다면 이 변수를 정규식 문자열에 어떻게 전달합니까? </p>
P粉763748806
P粉763748806

모든 응답(2)
P粉141455512

Eric Wendelin이 언급했듯이 다음과 같이 할 수 있습니다.

으아아아

이것은 “正则表达式匹配。”。但是,如果 str1 是 ".",则会失败。您期望结果为“模式匹配正则表达式”,用“正则表达式”替换句点을 생산하지만 결과는...

으아아아

"."는 문자열이지만 RegExp 생성자에서는 여전히 정규 표현식으로 해석되어 문자열의 모든 문자를 나타내는 개행 문자가 아닌 문자를 나타내기 때문입니다. 이를 위해 다음 기능이 유용할 수 있습니다:

으아아아

그러면 이렇게 할 수 있습니다:

으아아아

생산“模式匹配正则表达式”.

P粉318928159

새로운 RegExp 개체를 생성할 수 있습니다:

으아악

이 방법으로 정규식 개체를 동적으로 만들 수 있습니다. 그러면 다음을 수행하게 됩니다:

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿