这篇文章主要介绍了关于深入理解JS正则表达式之元字符和字符类的解析,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
正则表达式由两种基本字符类型组成:
1.原义(正常)文本字符:代表本身含义的字符,如:a、b、c、1、2、3等。
2.元字符:元字符是在正则表达式中有特殊含义的非字母字符,如\b
代表单词边界,可以是单词的开头或结尾。
常见的符号元字符:
* + ? $ ^ . | \ () {} []
一般情况下,正则表达式一个字符对应字符串一个字符。比如,表达式ab\t
的含义就是ab
加上一个\t
(水平制表符)。
但是,很多时候,我们不想匹配某个字符,而想匹配某类字符。此时,我们可以使用元字符[]
来构建一个简单的类。
所谓类是指符合某些特性的对象,一个泛指,而不是特指某个字符。表达式[abc]
把字符a
或b
或c
归为一类,可以匹配这类字符。
示例:
let reg = /[abc]/g let text = 'a1b2c3d4e5' text.replace(reg, 'X') // X1X2X3d4e5
可以发现,当正则表达式匹配到a
或b
或c
时,自动替换为X
很多时候回碰到这么一种情况,即不想匹配某些字符,其他都匹配。此时,可以使用字符类取反——使用元字符`^创建反向类,即不属于某类的内容。
表达式[^abc]
表示不是字符a
或b
或c
的内容。
示例:
let reg = /[^abc]/g let text = 'a1b2c3d4e5' text.replace(reg, 'X') // aXbXcXXXXX
结果表明,当表达式匹配到a
或b
或c
时,不进行处理,其余的字符都转换为了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>
Atas ialah kandungan terperinci 深入理解JS正则表达式之元字符和字符类的解析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!