正则表达式:获取同一表达式中多个匹配项的跨度 IF 前面有一个关键字

乔诺·伯恩

我正在尝试使用正则表达式匹配地址标识符并提取跨度,但前提是它们链接到另一个地址标识符

flats 1, 2, 3 and 4, clover court, 10 windsor gardens wxy zq9
flats 1 and 2, 3 and 4, clover court
apartments 1 and 2, 3, 4, 5, 6, clover court
1, 2, 3, and 4, clover court

在上面的地址中,我只想匹配公寓/公寓号码,前提是它们前面有公寓/公寓。此正则表达式应捕获前三个句子中的所有平面数字,而不捕获最后一个句子中的任何数字。但他的正则表达式不能捕获街道号码或邮政编码。这意味着正则表达式必须在公寓编号的末尾停止,并且不包括公寓所在的建筑物(例如“三叶草法院”)。

我想单独捕获每个平面编号而不是整个块。因此,捕获“1、2、3 和 4”的正则表达式不起作用,因为整个跨度代表的不仅仅是一个平面 ID。

我努力了

(flats|apartments) (\d+(, | and ))*(\d)

但这实际上只能用于捕获系列中的最后一个数字,因为它在捕获组 4 中。

巴尔马尔

在量化组周围放置一个捕获组。

(flats|apartments) ((?:\d+(?:, | and ))*(?:\d))

捕获组 1 将包含flatsapartments,捕获组 2 将包含所有公寓号码的列表。

演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在同一行上使用grep打印多个正则表达式匹配项

使用一个或多个单词作为搜索关键字匹配一行的正则表达式

在一列中匹配多个正则表达式(并列出匹配项)

获取正则表达式以匹配同一模式的多个实例

正则表达式:多次匹配同一表达式,并在表达式之前返回完整字符串

正则表达式匹配同一行中的多个值

匹配不具有相同单词的关键字的正则表达式出现在另一个关键字之前

正则表达式从一个通用正则表达式中获取多个捕获组

python正则表达式:匹配多个正则表达式之一

为什么某些Dart关键字前面有一个&符号('@')

Python在一个正则表达式匹配项中找到多个正则表达式匹配项

正则表达式:如何访问一个组的多个匹配项?

如何使用正则表达式为一个属性查找多个匹配项?

仅匹配正则表达式行中的第一个匹配项

正则表达式获取模式的最后一个匹配项

正则表达式问题-同一表达式中有两个负面表情

匹配直到正则表达式中的另一个表达式

从正则表达式匹配中过滤出一个表达式

如何在同一行上通过逗号输出多个正则表达式匹配项

正则表达式:即使有多个相同的匹配项,如何也仅返回一个匹配项?

perl,匹配多个正则表达式之一

正则表达式:跳过组中角色的第一个匹配项?

jQuery中的正则表达式仅允许一个匹配项

在正则表达式中查找最后一个匹配项

Java 中的正则表达式——只返回最后一个匹配项

获取文本文件中第一个匹配项的正则表达式

如何在同一个正则表达式中搜索多个单词?

Powershell中的多个正则表达式匹配-在同一行中具有添加内容的输出

Java的正则表达式:在同一行捕获多个匹配