我是第一次使用正则表达式,我遇到了一个令人困惑的问题,关于这个场景,我有一个项目的列表,它们的重量和单位。我需要缩写的项目和重量,但我的正则表达式打破了当有一个负数。下面是我目前的正则表达式:
[.0-9]+-\.?[0-9.]*
这是我的例子
Lenovo Legion 5-15 lbs
我可以匹配5-15,这是正确的,但当我有一个值,如
DELL XPS -2 lbs
我的正则表达式坏了。我如何修改正则表达式以适应负值?
a8jjtwal1#
您可以使用
-?\d+(?:\.\d+)?(?:-\d+(?:\.\d+)?)?
请参阅regex demo
-?
-
\d+(?:\.\d+)?
.
(?:-\d+(?:\.\d+)?)?
1条答案
按热度按时间a8jjtwal1#
您可以使用
请参阅regex demo
-?
-可选的-
\d+(?:\.\d+)?
-一个或多个数字,然后是可选的.
和一个或多个数字(?:-\d+(?:\.\d+)?)?
-可选的-
-连字符\d+(?:\.\d+)?
-一个或多个数字,然后是可选的.
和一个或多个数字