>  Q&A  >  본문

정규식에서 변수를 사용하는 방법은 무엇입니까?

<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粉763748806P粉763748806424일 전576

모든 응답(2)나는 대답할 것이다

  • P粉141455512

    P粉1414555122023-08-24 10:47:54

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

    으아아아

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

    으아아아

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

    으아아아

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

    으아아아

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

    회신하다
    0
  • P粉318928159

    P粉3189281592023-08-24 10:01:04

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

    으아악

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

    으아악

    회신하다
    0
  • 취소회신하다