正则表达式-后向引用
使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达式或其它程序中作进一步的处理。默认情况下,每个分组会自动拥有一个组号,规则是: 后向引用用于重复搜索前面某个分组匹配的文本。例如: b(w+)bs+1b可以用来匹配重复的单词,像go go,或者kitty kitty。这个表达式首先是一个单词,也就是单词开始处和结束处之间的多于一个的字母或数字(b(w+)b),这个单词会被捕获到编号为1的分组中,然后是1个或几个空白符(s+),最后是分组1中捕获的内容(也就是前面匹配的那个单词)(1)。 你也可以自己指定子表达式的组名。要指定一个子表达式的组名,请使用这样的语法:(?<Word>w+)(或者把尖括号换成'也行:(?'Word'w+)),这样就把w+的组名指定为Word了。要反向引用这个分组捕获的内容,你可以使用k<Word>,所以上一个例子也可以写成这样:b(?<Word>w+)bs+k<Word>b。 使用小括号的时候,还有很多特定用途的语法。下面列出了最常用的一些:
我们已经讨论了前两种语法。第三个 (?:exp)不会改变正则表达式的处理方式,只是这样的组匹配的内容 不会像前两种那样被捕获到某个组里面,也不会拥有组号。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- swfupload上传在firefox报错解决方案
- Swift中类型和显式展开类型之间的区别
- Oracle SQL Developer 中文 乱码
- logback logback.xml常用配置详解(一)<configuration> a
- ruby-on-rails – 由于id = null,Rails has_many无法以嵌套
- C# 对Outlook2010进行二次开发的图文教程
- Oracle SQL语句实现数字四舍五入取整
- 【React Native开发】React Native开发IDE安装及配置
- 当内部块具有相同的变量声明时,如何访问内部块中的外部块变
- ruby-on-rails – 在Controller(RAILS)中动态创建方法