全球旧事资料 分类
的内匹配这个子表达式的文本容可以在表达式或其它程序中作进一步的处理。默认情况下,每个分组会自动拥有一个组号组号,规则是:从左向右,以分组的左括号为标志,第一个出现的分组的组号组号为1,第二个为2,以此类推。后向引用用于重复搜索前面某个分组匹配的文本。例如,代表分组1匹配的文本。1后向引用难以理解?请看示例:bwbs1b可以用来匹配重复的单词,像gogokittykitty。首先是一个单词,也就是单词开始处和结束处之间的多于一个的字母或数字bwb,然后是1个或几个空白符s,最后是前面匹配的那个单词1。你也可以自己指定子表达式的组名组名。要指定一个子表达式的组名,请使用这样的语组名法:Wordw或者把尖括号换成也行:Wordw这样就把w的组名指定为Word了。要反向引用这个分组捕获捕获的内容,你可以使用kWord捕获所以上一个例子也可以写成这样:bWordwbskWordb。使用小括号的时候,还有很多特定用途的语法。下面列出了最常用的一些:r
表4分组语法捕获exp匹配exp并捕获文本到自动命名的组里r
ameexp匹配exp并捕获文本到名称为
ame的组里,也可以写成
ameexpexp匹配exp不捕获匹配的文本,也不给此分组分配组号零宽断言expexpexpexp匹配exp前面的位置匹配exp后面的位置匹配后面跟的不是exp的位置匹配前面不是exp的位置注释comme
t这种类型的组不对正则表达式的处理产生任何影响,用于提供注释让人阅读r
我们已经讨论了前两种语法。第三个exp不会改变正则表达式的处理方式,只是这样的组匹配的内容不会像前两种那样被捕获到某个组里面。r
零宽断言r
接下来的四个用于查找在某些内容但并不包括这些内容之前或之后的东西,也就是说它们像b那样用于指定一个位置,这个位置应该满足一定的条件断言,因此它们也被称为零宽断言零宽断言。最好还是拿例子来说明吧:零宽断言exp也叫零宽度正预测先行断言零宽度正预测先行断言,它断言自身出现的位置的后面能匹配表达式零宽度正预测先行断言exp。比如bwi
gb,匹配以i
g结尾的单词的前面部分除了i
g以外的部分,如查找Imsi
gi
gwhileyoureda
ci
g时,它会匹配si
g和da
c。exp也叫零宽度正回顾后发断言,它断言自身出现的位置的前面能匹配表达零宽度正回顾后发断言零宽度正回顾后发断言式exp。比如brewb会匹配以re开头的单词的后半部分除了re以外的部分,例如在查找readi
gabook时r
好听全球资料 返回顶部