我想使用python和单个正则表达式获取一个数字,如果该数字在某个文本(“ b”)之前或之后。这里的“单个”很重要。
因此以下情况应匹配(即使第一种情况是可选的,也永远不会发生...)
这不应该:
我开玩笑(向前和向后),但没有任何效果。我相信这应该可以通过使用一些环顾四周的东西和...魔术来实现。但是我不知道怎么...
请参阅此regex101作为起点...
如果这不可能,为什么呢?如果可能的话,怎么办?
使用您提供的示例,以下模式将匹配任何数字(以b
或后接)组成的任何数字(一个或多个连续数字组) b
。
(?<=b\s)\d+|\d+(?=\sb)
(?<=b\s)\d+
回头检查b
并匹配以下一个或多个数字
|
有条件的告诉引擎检查第一个子句是否不产生匹配。
\d+(?=\sb)
仅匹配一个或多个数字,如果后面跟有由 b
预定义定义的数字。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句