正则表达式基础知识
发布时间:2020-12-13 23:12:11 所属栏目:百科 来源:网络整理
导读:正则表达式有12个元字符:【$()*+.?[^{|】 如果不包含这12个字符,就说不上是正则表达式。另外 “]” 和 “}” 也算是元字符。 在正则表达式中,要匹配这12个元字符,有两种方法 ""进行转义。例如: 【$()*+.?[^{|】 用Q和E标签。 例如 【
正则表达式有12个元字符:【$()*+.?[^{|】
如果不包含这12个字符,就说不上是正则表达式。另外 “]” 和 “}” 也算是元字符。
在正则表达式中,要匹配这12个元字符,有两种方法
大小写不敏感匹配:在字符串前后分别加上【(?i)】【(?-i)】
eg: 表达式【sensitive(?i)caseless(?-i)
sensitive】能够匹配字符串【sensitiveCaseLESSsensitive】
匹配多个字符中的一个:用【[]】
eg:表达式【[0-9]】就可以匹配到0到9之间的所有的数字。
表达式【[^0-9]】可以匹配出不属于0到9之间字符
通过连接符【-】设置指定的范围,【-】前面的字符和后面的字符构成一个区间,该区间范围是根据ASCII字符表或者Unicode 字符表设定的。
匹配以某字符串开始的字符串:在开始字符串钱加上【^】或者【A】
eg:【^alpha】匹配以alpha开始的字符串,等同于【Aalpha】
匹配以某字符串结束的字符串:在结束字符后加上【$】或者【Z】
eg:【alpha$】匹配以alpha结束的字符,等同于【alphaZ】
javascript 不支持 A
开启多行模式:在字符串前加上【(?m)】
边界匹配:在字符串前后加上【b】标签,则只能匹配到b之间的字符。
eg:表达式【bcatb】只会匹配【cat】不会匹配到【category】
表达式【bcat】只会匹配以【cat】开始的字符串,等同于【^cat】标签。
非边界匹配:在字符串前后加上【B】标签,它的意义与【b】标签意义相反。
eg: 表达式【BcatB】只会匹配【cat】前后还有
其他单词字符的字符串。不能匹配【cate】/【ecat】/【my cat is】,只能匹配到【ecate】这样的字符串。
匹配几个字符串中的一个:在字符串间加上【|】。
eg: 当你用正则表达式【Mary|Jane|Sue】查找字符串【Mary,Jane,and Sue went o Mary's house】,第一次找到的是Mary,查找下一个是Jane,然后会是Sue,最后是Mary。
解释一下:【|】的效果是在目标字符串中查找用【|】连接的字符串,找到一个后,就在剩余的字符串中再继续查找。
首先会在
【Mary,and Sue went o Mary's house】匹配到Mary,接下来就会在剩余的字符串【,and Sue went o Mary's house】查找【Mary|Jane|Sue】的匹配结果。
再次匹配之前匹配的字符串:
eg: 要匹配形如日期表示字符串【2008-08-08】,就是年份的后两位、月份、日子这三个数字相同。
正则表达式:【dd(dd)-1-1】
能够匹配得字符串:2008-08-08/ 2007-07-07
解释:在正则表达式中,()内的匹配结果作为一个group,第一个()匹配的结果是group1, 第二个()匹配的结果是group2, 以此类推。在正则表达式后可以用【"" + 数字】 的形式表示匹配对应的group。例如【1】表示匹配group1, 【2】表示匹配group2,以此类推。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |