>  기사  >  웹 프론트엔드  >  JS 정규식의 사전 정의된 클래스 및 경계 분석에 대한 심층적인 이해

JS 정규식의 사전 정의된 클래스 및 경계 분석에 대한 심층적인 이해

不言
不言원래의
2018-07-11 09:37:451823검색

이 글은 JS 정규식에 대한 심층적인 이해를 위해 미리 정의된 클래스와 경계에 대한 분석을 주로 소개합니다. 이제 필요한 친구들이 참고할 수 있도록 공유하겠습니다. 🎜 🎜#사전 정의된 클래스

정규 표현식은 일반적인 문자 클래스와 일치하도록 사전 정의된 클래스를 제공합니다

Characters#🎜🎜 ##🎜 🎜#동등수업. [^rn] [0- 9]# 🎜🎜#숫자D[^0-9] 숫자가 아닌 문자 #🎜🎜 ## ## ## #############[tnx0bfr]#🎜🎜 ####blank 캐릭터#🎜🎜 ## ## ##### 🎜🎜 #S[^tnx0Bfr]공백이 아닌 문자w#🎜 🎜#W# 🎜🎜##🎜🎜 #[^a-zA-Z_0-9]사전 정의 클래스를 사용하면 빠르게 일치할 수 있습니다. 문자 클래스 및 범위 클래스를 사용하려면 많은 코드를 작성해야 하지만 사전 정의된 클래스를 사용하려면 다음과 같이 작성하면 됩니다.
/ab\d/
boundary# 🎜🎜# xxx로 시작#🎜 🎜#$#🎜🎜 #b
의미
캐리지 리턴 및 라인 피드를 제외한 모든 문자 d
[a-zA-Z_0-9] 단어 문자(문자, 숫자, 밑줄)
비단어 문자
정규 표현식은 일반적으로 사용되는 여러 가지 경계 일치 문자도 제공합니다. 🎜# ^
xxx로 끝남
단어 경계

#🎜 🎜#

B

비단어 경계

가끔 문장에서 is 단어를 일치시키고 싶지만 단어에는 is letter가 없는 경우가 있습니다. 에서 이때 단어 경계를 사용하면 이 문제를 쉽게 해결할 수 있습니다.
let text = 'This is a boy'

let reg1 = /is/g

let reg2 = /\bis\b/g

text.replace(reg1, 'IS')    // 没有使用单词边界\b区分,结果为:ThIS IS a boy

text.replace(reg2, 'IS')    // 使用了单词边界进行区分,结果为:This IS a boy
단어의 끝만 일치시키고 싶을 때는 어떻게 해야 합니까? 이때 단어 경계와 비단어 경계를 현명하게 혼합할 수 있습니다.
let text = 'This is a boy'

let reg3 = /\Bis\b/g

text.replace(reg3, 'IS')    // ThIS is a boy
let text = '@123@abc@'

let reg1 = /@/g

text2.replace(reg1, 'Q')    // 没有使用^和$,匹配了所有的@,结果为:Q123QabcQ

let reg2 = /^@/g

text.replace(reg2, 'Q')     // 使用^匹配开头的@,结果为:Q123@abc@

let reg3 = /@$/g

text.replace(reg3, 'Q')     // 使用$匹配结尾的@,结果为:@123@abcQ
tips: 실제 사용에서는 ^ code>는 일치 항목 앞에 작성해야 하며 <code>$는 일치 항목 후에 언로드해야 합니다. 을 사용합니다.
let text = &#39;@123\n@456\n@789&#39;

let reg1 = /^@\d/g

text.replace(reg1, &#39;Q&#39;)      
/*
    由于换行实际上只是一个换行符字符,在正常模式下,依然看做一段字符
    结果为:
    Q23
    @456
    @789
*/

let reg2 = /^@\d/gm

text.replace(reg2, &#39;Q&#39;)
/*
    添加了m进入多行模式:
    结果为:
    Q23
    Q56
    Q89
*/
위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 도움이 되었으며, 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 주목해 주세요! JS 정규식의 범위 클래스 분석에 대한 심층적인 이해JS 정규 표현식의 메타 문자 및 문자 클래스 분석에 대한 심층적인 이해
단락에서 일부 단어만 일치시키고 싶을 때 경계는 종종 유용합니다. are not letter in a word Word Boundary vs. Non-Word Boundary
^ 및 $ - 시작과 끝 다양한 용도로 사용하기 위해 시작 또는 끝 문자, ^$를 사용하면 이 문제를 완벽하게 해결할 수 있습니다.
여러 줄의 경우 ^ 및 $ 여러 줄의 경우 이 경우 m을 사용하여 여러 줄 모드로 들어가 각 줄의 시작 및 끝 일치 문자를 일치시킵니다.
관련 추천:
# 🎜🎜#

위 내용은 JS 정규식의 사전 정의된 클래스 및 경계 분석에 대한 심층적인 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.