正则表达式中,用于查找某些内容之前或者之后的东西,叫做断言。
(?=exp)用于匹配的位置前面能匹配到的值。
举个例子有字符串为 hello the world
如果输入的匹配表达式为 \b\w+(?=ld\b),则会输出wor
(?<=exp)用于匹配的位置后面能匹配到的值。
举个例子有字符串为 hello the world
如果输入(?<=\bhe)\w+\b。则会匹配出值llo
(?!exp)用于匹配值后面不能是exp
举个例子有字符串为 hello the world
如果输入的为\bhe(?!o)\w,则匹配出hel
(?<!exp)用于匹配值前面不能是exp
举个例子有两个单词为 11122aa aaabbb
如果输入的为 (?<!\d)[a-z]\w+,则匹配出aaabbb
另小技巧,如果想匹配出重复的字符,可以用
举个例子有两个单词为 wi wi go go go
如果输入的为\b(?<Word>\w+)\b\s+\k<Word>\b,则匹配出wi,go