我需要提取一个字符串中的最后一个数字。我正在尝试使用正则表达式和负向先行断言来实现,但是它没有起作用。这是我拥有的正则表达式:
\d+(?!\d+)
以下是一些字符串,仅用于让您了解正则表达式应匹配的内容:
ARRAY[123] matches 123
ARRAY[123].ITEM[4] matches 4
B:1000 matches 1000
B:1000.10 matches 10
等等,此正则表达式匹配了所有数字,但我不明白为什么负向先行断言没有起作用。有人能解释一下吗?
(?:\D|^)
混乱得多;-)(而且更接近 OP 的原始正则表达式)。 - Cameron(regex)(?!.*(regex))
。个人喜欢查找任何十进制数,所以我经常使用的正则表达式是:((?:\d*\.)?\d+)(?!.*((?:\d*\.)?\d+))
。 - TheUnknownGeekf1rst number 77, 2 substring-that-I-need before KEYWORD 3 asd 555
?我想要获取这部分内容:substring-that-I-need before
。 - help-ukraine-now