【正则表达式入门】第七节——前后查询

文章介绍了在HTML页面中如何使用正则表达式的前后查寻功能来获取特定标签内的文本内容,如<h1>标签。解释了向前查找(?=)和向后查找(?<=)的语法及用途,举例说明如何匹配标签内容,并提到了负向查找。正则表达式在数据管理和多种编程语言中都有广泛应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先依然进入一个场景:

想要在一个HTML页面中,获取某一个标签的文本内容,例如,获取<h1>AAA</h1> 标题1的文字内容,这里指的是,在两个标签<h1>中的字符串。根据这个设想,按照之前学习的知识,我们可能想到了使用回溯引用,例如<(h1)>\w+</\1>,但回溯引用匹配到两个<h1>以及之间的内容,对于<h1><\h1>之间的内容束手难测。按照这种情况下,引出正则表达式的“前后查寻”功能。

前后查询是什么?

前后查询包含匹配本身,但并不返回,而是用于确定正确的匹配的位置,并不是匹配结果的一部分。即找到我们想要的位置,换句话说也就是根据前面的结果,按照特定条件,来返回我们想要的内容。

注意:常见的正则表达式都支持向前查找,Java、PHP等支持向后查找。具体情况,根据所使用的语言,查看官方文档,来进行查找。

前后查询怎么使用?

向前查找模式

语法
?=开头的子表达式,需要匹配的内容放在=的后面。
?=也被称为向前查找符。

例如,\w+(?=.)将匹配.前的一串字符。这在某种意义上,像定位符,子表达式的内容表示先定位到想要的位置,然后再进行匹配。

正则表达式
\w+(?=,)
该正则表达式,表示找到,前的一个单词构成的字符串。
在这里插入图片描述

根据上图结果显示,在全文中匹配到了,前的一个单词,如Expression、Regexp等单词。

向后查找模式

语法
?<=开头的子表达式,需要匹配的内容放在=的后面。
?<=也被称为向后查找符。

例如,(?<=,).将匹配,后的任一一个字符。

正则表达式
(?<=,) \w+
该正则表达式,表示找到,后的一个空格字符与单词组成的字符串。

在这里插入图片描述

根据上图结果显示,在全文中匹配到了,后的一个空格字符与单词组成的字符串,如
JavaScript Google等内容。

补充

正则表达式中除了向前查找模式、向后查找模式外,还有对前后查找取非的操作。
比如(?!)表示负向前查找、(?<!)表示负向后查找,对这部分感兴趣的同学,可以自行查阅相关资料,这里就不介绍案例来展示了。

本节测试用例

Regular Expressions, abbreviated as Regex or Regexp, 
are a string of characters created within the framework of Regex syntax rules. 
You can easily manage your data with Regex, which uses commands like finding, 
matching, and editing. Regex can be used in programming languages 
such as Python, SQL, JavaScript, R, Google Analytics, Google Data Studio, 
and throughout the coding process. Learn regex online with examples and tutorials on RegexLearn now.
RegexRegex

专栏总结

关于正则表达式入门系列的专栏就先讲到这里了,后续如果还有一些跟正则表达式相关的内容也会放到这个专栏中。

「参考」
《正则表达式必知必会》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值