>  기사  >  웹 프론트엔드  >  JS 정규식의 메타 문자 및 문자 클래스 분석에 대한 심층적인 이해

JS 정규식의 메타 문자 및 문자 클래스 분석에 대한 심층적인 이해

不言
不言원래의
2018-07-11 09:29:161409검색

이 글은 JS 정규식에 대한 심층적인 이해를 위한 메타 문자 및 문자 클래스 분석을 주로 소개합니다. 이제 필요한 친구들이 참고할 수 있도록 공유합니다. 🎜 🎜#메타문자 및 문자 클래스

Metacharacters

정규 표현식은 두 가지 기본 문자 유형으로 구성됩니다:

1. 원래 의미(일반 ) 텍스트 문자. : a, b, c, 1, 2, 3 등과 같이 고유한 의미를 나타내는 문자입니다.

2. 메타 문자는 정규식에서 특별한 의미를 갖는 문자가 아닌 문자입니다. 예를 들어 b는 단어 경계를 나타냅니다. 단어.

공통 기호 메타 문자: b代表单词边界,可以是单词的开头或结尾。

常见的符号元字符:

* + ? $ ^ . | \ () {} []

字符类

一般情况下,正则表达式一个字符对应字符串一个字符。比如,表达式abt的含义就是ab加上一个t(水平制表符)。

但是,很多时候,我们不想匹配某个字符,而想匹配某类字符。此时,我们可以使用元字符[]来构建一个简单的类。

所谓类是指符合某些特性的对象,一个泛指,而不是特指某个字符。表达式[abc]把字符abc归为一类,可以匹配这类字符。

示例:

let reg = /[abc]/g
let text = 'a1b2c3d4e5'
text.replace(reg, 'X')  // X1X2X3d4e5

可以发现,当正则表达式匹配到abc时,自动替换为X

字符类取反

很多时候回碰到这么一种情况,即不想匹配某些字符,其他都匹配。此时,可以使用字符类取反——使用元字符`^创建反向类,即不属于某类的内容。

表达式[^abc]表示不是字符abc的内容。

示例:

let reg = /[^abc]/g
let text = 'a1b2c3d4e5'
text.replace(reg, 'X')  // aXbXcXXXXX

结果表明,当表达式匹配到abc时,不进行处理,其余的字符都转换为了X

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

<a title="深入理解JS正则表达式之REGEXP对象的解析" href="http://www.php.cn/js-tutorial-406370.html" target="_blank">深入理解JS正则表达式之REGEXP对象的解析</a>

<a title="JavaScript实现快速排序的算法思想" href="http://www.php.cn/js-tutorial-406371.html" target="_blank" style='font-family: "Microsoft Yahei", "Hiragino Sans GB", Helvetica, "Helvetica Neue", 微软雅黑, Tahoma, Arial, sans-serif;'>JavaScript实现快速排序的算法思想</a><br>rrreee

Character 클래스#🎜🎜##🎜🎜#일반적으로 정규식의 한 문자는 문자열의 한 문자에 해당합니다. 예를 들어, abt 표현식은 abt(가로 탭 문자)를 더한 것을 의미합니다. #🎜🎜##🎜🎜#그러나 특정 문자를 일치시키고 싶지 않지만 특정 유형의 문자를 일치시키고 싶은 경우가 많습니다. 이 시점에서 메타문자 []를 사용하여 간단한 클래스를 만들 수 있습니다. #🎜🎜##🎜🎜#소위 클래스란 특정 문자라기보다는 특정 특성, 즉 일반적인 참조에 부합하는 개체를 말합니다. [abc] 표현식은 a, b 또는 c 문자를 하나의 카테고리로 그룹화하고 해당 문자와 ​​일치시킬 수 있습니다. #🎜🎜##🎜🎜#예: #🎜🎜#rrreee#🎜🎜#정규 표현식이 a 또는 b 또는 와 일치하는 경우를 찾을 수 있습니다. c 인 경우 자동으로 로 대체됩니다. 일부 문자는 일치하지만 다른 문자는 일치합니다. 이때, 문자 클래스를 사용하여 부정할 수 있습니다. 메타문자 `^를 사용하여 역클래스, 즉 특정 클래스에 속하지 않는 콘텐츠를 생성할 수 있습니다. #🎜🎜##🎜🎜#<code>[^abc] 표현식은 a, b 또는 c문자가 아님을 의미합니다. > 내용. #🎜🎜##🎜🎜#예: #🎜🎜#rrreee#🎜🎜#결과는 표현식이 a 또는 b 또는 c는 아무런 처리도 하지 않고 나머지 문자는 <code>로 변환됩니다. 내용은 PHP 중국어 홈페이지를 참고해주세요! #🎜🎜##🎜🎜#관련 권장 사항: #🎜🎜##🎜🎜#<code><a title="JS 정규 표현식의 REGEXP 개체 분석에 대한 심층적인 이해" href="http://www%20.php.cn/js-tutorial-406370.html" target="_blank">JS 정규 표현식의 REGEXP 객체 분석에 대한 심층적인 이해</a>#🎜🎜##🎜🎜#…é»', Tahoma, Arial, sans-serif;">빠른 정렬 구현을 위한 JavaScript용 알고리즘 아이디어
#🎜🎜#

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

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