/(?:\d
)(.*?)(?:[a-z])/ //匹配中间分组
复制代码
向前查找(?=regex)
以regex作为限制项进行匹配,匹配到这个子表达式后,就会继续向前查找(匹配以regex结尾的单词的前面部分(除了regex以外的部分))
/(?<=<(\w+)>).*(?=<\/\1>)/
/(?<=<(\w+)>)/
/(?=<\/\1>)/
复制代码
负前向查找(?!regex)
以regex作为限制,向前查找,被指定的子表达式不能被匹配到(匹配不以regex结尾的单词的前面部分,或者不包含匹配regex的单词)
/\d{
3
}(
?!
[a-z])/ 匹配后面不是小写字母的三位数字; /
/匹配不以小写字母结尾的字符串的前面部分
/
\b((
?!
abc)\w)+\b/ 匹配不包含连续字符串abc的单词。
/^(
?!
.*diversity)/ 匹配不包含连续字符串diversity的字符串
复制代码
前后查找(?<=regex)
以regex作为限制项进行匹配,匹配到这个子表达式后,就会继续向后查找(匹配以regex开头的单词的后面部分(除了regex以外的部分))
负前后查找(?<!regex)
以regex作为限制,向后查找,被指定的子表达式不能被匹配到(匹配不以regex开头的单词的后面部分,或者不包含匹配regex开头的单词)
【
注意
】
:只能写在前面限制后面,向后查找,如果后面没有查找内容,则没有限制
/(?<!
[a-z]
)\d{7}/ 匹配前面不是小写字母的七位数字。//匹配不以小写字母开头的字符串的后面部分
var
str
=
'apple people'
只想找到apple的ple,匹配以ap开头的ple
/(?<=ap)ple/ 或者 /(?<!peo)ple/
复制代码
友情链接:
juejin.cn/post/684490…
www.cnblogs.com/shangdawei/…