我想使用 python 和单个正则表达式来获取一个数字,如果该数字位于某个文本(“b”)之前或之后。这里的“单一”很重要......
所以以下情况应该匹配(即使第一个是可选的,因为永远不会发生......)
这不应该:
我玩弄了(向前和向后)但没有真正起作用。我相信这应该可以通过一些环顾四周的东西和......魔法来实现?但我不知道如何...
请参阅此regex101作为起点......
如果这不可能,为什么?如果这可能的话,如何实现?
使用您给出的示例,以下模式将匹配前面b 或后面的任何数字(一个或多个连续数字的组) b。
(?<=b\s)\d+|\d+(?=\sb)
Run Code Online (Sandbox Code Playgroud)
(?<=b\s)\d+回溯检查b 并匹配一个或多个以下数字
|如果第一个子句没有产生匹配,则有条件告诉引擎检查第二个子句。
\d+(?=\sb) b仅当后跟由前瞻定义时才匹配一个或多个数字。
| 归档时间: |
|
| 查看次数: |
2051 次 |
| 最近记录: |