正则常用操作
Easul Lv6

多符号的组合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// .*? 非贪婪匹配,在下边的字符串中,只匹配到第一个; ,也就是asdf;
let regex1 = "asdf;1111;".match(/.*?;/)
// ?: 非获取匹配,也就是不能获取括号中的匹配结果,如下可以匹配到library
let regex2 = "library".match(/librar(?:y|ies))
// 这样除了可以获取library还可以获取y
let regex3 = "library".match(/librar(y|ies))
// ?= 正向肯定非获取匹配,需要某个字符串后面接着他,然后才能匹配到前边的字符串,这里匹配到te
let regex4 = "testntest".match(/.*?(?=s)/)
// ?! 正向否定非获取匹配,需要某个字符串后面不接着他,然后才能匹配到前边的字符串,这里匹配到第二个test
let regex5 = "testntests".match(/test(?!n)/)
// ?<= 反向肯定非获取匹配,需要某个字符串前面接着他,然后才能匹配到后边的字符串,这里匹配到tnte
let regex6 = "testntest".match(/(?<=s).*?t/)
// ?<! 反向否定非获取匹配,需要某个字符串前面不接着他,然后才能匹配到后边的字符串,这里匹配到最后一个字母
let regex7 = "testnteststestse".match(/(?<!t)e/)
 评论