가능한 모든 문자열을 사용하여 정규식을 만들고 싶습니다.
내재된 메소드가 있나요? 그렇지 않다면 사람들은 무엇을 사용합니까? 루비에는 RegExp.escape이 있습니다. 굳이 직접 쓸 필요는 없고 기준이 있어야 할 것 같은 느낌이 듭니다.
RegExp.escape
Lodash를 사용하는 사람이라면 v3.0.0부터 _.escapeRegExp 기능이 내장되어 있습니다:
그리고 전체 Lodash 라이브러리가 필요하지 않다면 그게 다입니다를 원할 수도 있습니다!
다른 답변에 링크된 기능으로는 충분하지 않습니다. 이스케이프할 수 없습니다 ^ 或 $ (字符串的开头和结尾)或 -. 문자 그룹 내의 범위에서 사용됩니다.
^
$
-
이 기능을 사용하세요:
첫눈에는 불필요해 보일 수도 있지만 이스케이프 - (以及 ^)를 사용하면 이 함수를 정규 표현식의 본문으로 문자 클래스에 삽입할 문자를 이스케이프하는 데에도 적합합니다.
Escape / 이 함수를 나중에 평가하기 위해 JavaScript 정규식 리터럴에서 사용할 문자를 이스케이프하는 데 적합하게 만듭니다.
/
이 중 어느 것도 탈출해도 아무런 해가 없으므로 더 넓은 범위의 사용 사례를 포괄하려면 탈출하는 것이 합리적입니다.
예, 실망스럽게도 이는 표준 JavaScript의 일부가 아닙니다.
Lodash를 사용하는 사람이라면 v3.0.0부터 _.escapeRegExp 기능이 내장되어 있습니다:
으아악그리고 전체 Lodash 라이브러리가 필요하지 않다면 그게 다입니다를 원할 수도 있습니다!
다른 답변에 링크된 기능으로는 충분하지 않습니다. 이스케이프할 수 없습니다
^
或$
(字符串的开头和结尾)或-
. 문자 그룹 내의 범위에서 사용됩니다.이 기능을 사용하세요:
으아아아첫눈에는 불필요해 보일 수도 있지만 이스케이프
-
(以及^
)를 사용하면 이 함수를 정규 표현식의 본문으로 문자 클래스에 삽입할 문자를 이스케이프하는 데에도 적합합니다.Escape
/
이 함수를 나중에 평가하기 위해 JavaScript 정규식 리터럴에서 사용할 문자를 이스케이프하는 데 적합하게 만듭니다.이 중 어느 것도 탈출해도 아무런 해가 없으므로 더 넓은 범위의 사용 사례를 포괄하려면 탈출하는 것이 합리적입니다.
예, 실망스럽게도 이는 표준 JavaScript의 일부가 아닙니다.