正则表达式之分组的回溯引用问题

这篇文章主要介绍了正则表达式之分组的回溯引用问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

正则表达式简介

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

引子

前端开发中,难免会遇到需要匹配标签的需求,这么简单的需求,不就是两个尖括号包裹一个标签名嘛,接下来一顿操作,/<[\w]+>.*<\/[\w]+>/g,然后完美匹配了

xx
等内容,需求完成…

等等,咋看之下,当前正则确实能匹配各种标签,但是它同样能匹配类似

xx

的内容。这就意味着我们需要保持两个尖括号内的内容相同才行。

正则之分组回溯引用 分组 ()

所谓分组,就是把要匹配的内容放在括号()里。括号里的内容可以视为是一个整体的子表达式

 /<([\w]+)>.*<\/([\w]+)>/g

回溯引用 \N

正则表达式还提供了一种引用之前匹配分组的机制,有些时候,我们或许会寻找到一个子匹配,该匹配接下来会再次出现。

 // 该表达式中的 \1 就是整个表达式中的第一个分组 var reg = /<([\w]+)>.*<\/\1>/ reg.test('
xx
') // true reg.test('
xx

') // false

以上就是正则表达式之分组的回溯引用问题的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 正则表达式