用于查找某些内容(不包含这些内容)之前或者之后的内容。也就是说用于查找一个位置,这个位置的前后需要满足一定的条件。
断言匹配的位置的后面匹配表达式exp,js为例(匹配ing结尾的单词,但是不包括ing三个字母):
"I am singing while you're dancing .".match(/\b\w+(?=ing\b)/g);
// ["sing", "danc"]
断言匹配的位置的前面匹配表达式exp,js句式为例所说明,但是js不支持这种断言!(匹配dr开头的单词,但是不包括dr两个字母):
"I've been drinking since you were drunk.".match(/(?<=dr)\w+\b/g);
// ["inking", "unk"]
断言匹配的位置后面不匹配表达式exp,js为例(匹配三个数字,并且后面不是数字):
"1111 222a 333b 4444 555".match(/\b\d{3}(?!\d)/g)
// ["222", "333", "555"]
断言匹配的位置前面不匹配表达式exp