先放个链接,万一有人关注呢
优质文章推荐
↓ ↓ ↓ ↓ ↓
.:匹配任意字符,除了换行符。*:匹配前一个字符零次或多次。+:匹配前一个字符一次或多次。?:匹配前一个字符零次或一次。|:表示“或”操作,匹配两个或多个模式中的任何一个。[]:定义字符类,匹配括号内的任何字符。():表示分组,用于捕获匹配的文本。
[]:匹配任何数字。[]:匹配小写字母。[]:匹配大写字母。[]:匹配任何字母。[]:匹配除了数字以外的字符。[]:匹配任何元音字母。
{n}:匹配前一个字符恰好 n 次。{n,}:匹配前一个字符至少 n 次。{n,m}:匹配前一个字符至少 n 次,但不超过 m 次。*:匹配零次或多次。+:匹配一次或多次。?:匹配零次或一次。
^:匹配字符串的开始。:匹配字符串的结束。\b:匹配单词的边界。\B:匹配非单词边界。
.:匹配除换行符 \n 外的任何字符。*:匹配前一个字符零次或多次。+:匹配前一个字符一次或多次。?:匹配前一个字符零次或一次。|:表示“或”操作,匹配两个或多个模式中的任何一个。[]:定义字符类,匹配括号内的任何字符。():表示分组,用于捕获匹配的文本。 (\d{4})-(\d{2})-(\d{2})\b(\w+)\b\s+\1\b正则表达式的反向引用是一种强大的技术,允许你在模式中引用已经捕获的文本,并在匹配时使用这些引用。这通常通过组匹配和反向引用组号来实现。反向引用在处理需要重复出现的文本模式时非常有用,例如识别重复单词、标签、括号等。
基本语法
在正则表达式中,反向引用使用组号来指示要引用的组,组号从1开始。组是通过在模式中使用圆括号 () 来创建的。一旦你捕获了一个组,你可以在后续的模式中引用它。引用的语法是 \ 后跟组号,例如 \1 表示引用组1。
示例一:匹配重复单词
假设我们有一段文本,其中有一些单词出现了两次。我们希望使用正则表达式将这些重复的单词识别出来。
文本:"Hello, hello, world, world, example, example."
正则表达式:
\b(\w+)\b.*\b\1\b
\b(\w+)\b:匹配一个单词并捕获到组1中。
.*:匹配任意字符(包括空格)零次或多次。
\b\1\b:引用组1,确保匹配的是与组1相同的单词,并且单词边界匹配。
使用这个正则表达式,我们可以捕获到重复的单词 "hello" 和 "world"。
示例二:HTML标签匹配
假设我们需要从HTML文档中提取所有的链接文本和链接地址。HTML标签是有嵌套关系的,我们可以使用反向引用来处理这种情况。
HTML片段:
<a href="https://www.example1.com">Example 1a><a href="https://www.example2.com">Example 2a><a href="https://www.example3.com">Example 3a>
"([^"]+)">([^<]+)"([^"]+)">:匹配链接的开头标签,捕获链接地址到组1中。([^<]+):匹配链接文本,捕获到组2中。:匹配链接的结束标签。
使用这个正则表达式,我们可以捕获到链接地址和链接文本
来不及解释了,快上车!(进群看公告)

欢迎新的小伙伴加入!在这里,我们鼓励大家积极参与群内讨论和交流,分享自己的见解和经验,一起学习和成长。同时,也欢迎大家提出问题和建议,让我们不断改进和完善这个平台。
↓↓↓ 点个在看,你最好看!