匹配未由Regex加上特定单词前缀的数字

时间:2019-01-10 01:24:54

标签: regex

我想提取正则表达式中不落后“ A”的数字。

对于textA123text,由于123位于A的后面,因此都不应该匹配。

对于textBC123text123应该匹配。

我发现像(?<!A)(\d)这样的负向后方无效。它与23中的textA123text相匹配,因为231之后。

使用正则表达式有什么方法吗?

2 个答案:

答案 0 :(得分:2)

除了对A使用负向后看,而且对\d使用负向后看,以确保您位于数字中的第一个字符,而不是A之前:

(?<![A\d])\d+

https://regex101.com/r/jhWM30/1

答案 1 :(得分:2)

当然,只需在您的后置断言中添加\d

(?<![A\d])(\d+)