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

正则表达式之<七>回溯引用:前后一致

发布时间:2020-12-14 02:21:10 所属栏目:百科 来源:网络整理
导读:子表达式是为了把一组字符编组为一个字符集合,回溯引用是针对于子表达式来的。 场景: 有这样一个文本: BODY H1 content H1 test /H1 BR content BR test /BR H2 content H1 test /H2 H3 content H1 test /H4 /BODY 假设正则如下: [Hh][0-6].*?/[Hh][0-6] 匹
子表达式是为了把一组字符编组为一个字符集合,回溯引用是针对于子表达式来的。

场景:
有这样一个文本:
<BODY>
<H1> content H1 test </H1>
<BR> content BR test </BR>
<H2> content H1 test </H2>
<H3> content H1 test </H4>
</BODY>

假设正则如下:
<[Hh][0-6]>.*?</[Hh][0-6]>

匹配结果如图:



很明显这不是我们想要的结果因为<H3> content H1 test </H4>这是一条非法的数据,不应该匹配。

所以采用([0-6])作为一个组。
正则表达式为:
<[Hh]([0-6])>.*?</[Hh]1>
这里的1就表示引用上一次组里的数据,保持数据一致。
匹配结果如图:

1代表什么意思呢? 它代表着模式里的第一个子表达式,2代表着第二个子表达式,3代表第三个,以此类推。

(编辑:李大同)

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

    推荐文章
      热点阅读