正则表达式捕获组,如果组在特定字符串之前或之后

答:Rabus:

我想使用python和单个正则表达式获取一个数字,如果该数字在某个文本(“ b”)之前或之后。这里的“单个”很重要。

因此以下情况应匹配(即使第一种情况是可选的,也永远不会发生...)

  • 1一
  • b 2 c
  • c 3 b

这不应该:

  • 4天

我开玩笑(向前和向后),但没有任何效果。我相信这应该可以通过使用一些环顾四周的东西和...魔术来实现。但是我不知道怎么...

请参阅此regex101作为起点...

如果这不可能,为什么呢?如果可能的话,怎么办?

JPI93:

使用您提供的示例,以下模式将匹配任何数字(以b 后接)组成的任何数字(一个或多个连续数字组) b

(?<=b\s)\d+|\d+(?=\sb)

第一条 (?<=b\s)\d+

回头检查b 并匹配以下一个或多个数字

要么 |

有条件的告诉引擎检查第一个子句是否不产生匹配。

第二条款 \d+(?=\sb)

仅匹配一个或多个数字,如果后面跟有由 b预定义定义的数字

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

正则表达式,如果捕获组匹配字符串

特定字符串后的正则表达式Infitine捕获组

如何在Python中每个正则表达式匹配的组之前和之后添加字符串?

用名称等于正则表达式捕获组的文件替换字符串

Python正则表达式:在F字符串中使用捕获的组

Python从字符串捕获组,使用正则表达式

正则表达式匹配带或不带捕获组的字符串

C ++ 11正则表达式:捕获替换字符串中的组后的数字

具有捕获组的C ++正则表达式字符串文字

使用正则表达式捕获字符串中的组

Java字符串拆分正则表达式非捕获组

从已捕获的组正则表达式中删除字符串

通过正则表达式捕获组在spark dataframe列中拆分字符串

捕获字符串中的正则表达式组出现

匹配字符串,其中多个捕获组在正则表达式中必须不同

正则表达式组不会捕获字符串的所有匹配部分

正则表达式:选择特定字符串之前和之后的所有字符

正则表达式 - 始终删除字符串中的一组特定字符

正则表达式-如果组以javascript中的字符串开头,则不匹配

正则表达式:获取特定子字符串之前和之后的数字

正则表达式匹配不以特定字符串结尾的组

在字符串的正则模式之后捕获字符串的正则表达式

Perl - 如果正则表达式捕获组的条件

如何使用正则表达式将字符串的开头(在用户指定的字符之前)放入组中?

Python正则表达式,捕获不特定的组

简单 JSON、特定捕获组的正则表达式?

正则表达式:捕获组中的替代字符

正则表达式组捕获

正则表达式捕获组