用到的是正则表达式中的环视。
比如一个文本
BCDA<sda A CVA>SV A BA
要求只匹配尖括号中的字母A,即第二个和第三个A。
正则表达式为:(?<=<[^<>]*)A(?=[^<>]*>)
解释:
即:一个A,它前面必须是一个<和若干个非<,>的字符组成的,它的后面必须是若干个非<,>和一个>字符,只有这样的A才会被匹配。
要求只匹配尖括号外的字母A,即第一个和第四,五个A。
正则表达式为:(?<=(^|>)[^<]*)A(?=[^>]*)
解释
即:一个A,它前面必须是起始位置或者>字符和若干个非<字符组成的,它的后面必须是若干个非>字符,只有这样的A才会被匹配。
本文转自cnn23711151CTO博客,原文链接: http://blog.51cto.com/cnn237111/1021034,如需转载请自行联系原作者