正则表达式中的预查
正则表达式中的预查 有时候使用正则会用到非获取匹配,就是不进行存储供以后使用,也就是正则中的预查,预查分为正向预查(lookahead)和反向预查(lookbehind)。 正向预查 (?=pattern)正向肯定预查(Positive lookahead)。如Python(?=3)匹配Python后跟3的语句,如输入Python3但其中最后的3不算进结果,返回Python (?!pattern)正向否定预查(Negative lookahead)。和上面的类似只是否定的,Python(?!3)匹配后面不带3的句子,输入Python2,也是返回Python 反向预查 (?<=pattern)反向肯定预查(Positive lookbehind)。如(?<=2)Python其实和上面也差不多反向就是向左匹配就是匹配Python前面是2的语句,如输入2Python,返回Python (?<!pattern)反向否定预查(Negative lookbehind)。如(?<!3)Python匹配Python前面不是3的输入,如输入2Python,返回Python 还有一个长的挺像的这里也记录下 (?:pattern) 匹配pattern但不获取匹配结果。 (?:t|b)oy只匹配boy或者toy,和toy|boy一样但更简洁,当然如果使用(t|b)oy就会多一个group