加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式的反向引用

发布时间:2020-12-14 00:43:41 所属栏目:百科 来源:网络整理
导读:1、反向引用(Backreferences)是Java正则表达式的重要特性。 为了理解反向引用,我们先对解释Java正则表达式里面的组。组在正则表达式中意味着将多个字符作为一个单独的单元,通过将字符放在()中,每个()代表一个组。每一组都有一个行号,从1开始。Matcher类
1、反向引用(Backreferences)是Java正则表达式的重要特性。

为了理解反向引用,我们先对解释Java正则表达式里面的组。组在正则表达式中意味着将多个字符作为一个单独的单元,通过将字符放在()中,每个()代表一个组。每一组都有一个行号,从1开始。Matcher类的groupCount方法返回模式(Pattern)关联Matcher实例组的个数。第0组指向整个表达式。


2、反向引用非常方便,因为它允许重复一个模式(pattern),无需再重写一遍。我们可以使用#(#是组号)来引用前面已定义的组。比如一个文本以abc开始,接着为xyz,紧跟着abc,对应的正则表达式可以为“abcxyzabc”,也可以使用反向引用重写正则表达式,“"(abc)xyz1"”,1表示第一组(abc)。2表示第二组,3表示第三组,以此类推。
例子:

([u4e00-u9fa5]{1})([u4e00-u9fa5]{1})的((1|2))

可以用来匹配这类句子:吃饭的饭;吃饭的吃;睡觉的谁;.......

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读