正则表达式查找没有小数点的负数

Regular Expression to find negative numbers without decimal point

我有字符串,例如-15。我只需要找到 -XX(其中 X 是一个数字),例如没有小数点的 -15-19-19.5,等等)。

我试过这个:

\b-\d{2}\b(?!\.\d) 

还有这个:

\b\-\d{2}\b(?!\.\d)

但他们什么也没做。如何制作正则表达式来执行此操作?

您可以使用这个正则表达式:

-\d{2}(?!\.\d)\b

Live Demo on Regex101

你的那个不工作有 2 个原因。

首先,您需要删除第一个 \b

其次,您需要在负前瞻之后移动第二个 \b。否则它会找到单词边界,然后尝试找到 . 和数字。您希望它找到 . 和后面有单词边界的数字,而不是之前。