我希望在Javascript上使用RegEx获得范围值,这样当我使用.match
时,它将返回这些值。我使用-
或~
作为范围运算符。
我的当前正则表达式是/(\-?\d+)(?:\-|\~)(\-?\d+)/
,但这不会返回带有十进制值的数字。
成功 get:
"5-10"
应该返回["5-10", "5", "10"]
"-5-10"
应该返回["-5-10", "-5", "10"]
"-5--10"
应该返回["-5-10", "-5", "-10"]
未能使获得:
"5.1-10"
应该返回["5.1-10", "5.1", "10"]
"-5.1-10"
应该返回["-5.1-10", "-5.1", "10"]
"-5.1--10"
应该返回["-5.1-10", "-5.1", "-10"]
"-5.1--10.2"
应该返回["-5.1-10", "-5.1", "-10.2"]
发布于 2018-12-18 06:32:02
/^(-?\d+\.?\d*?)[-~](-?\d+\.?\d*?)$/
您需要捕获第一个数字,其中可能有负号-
和十进制与数字.digit
。然后用连字符-
或tilde ~
分开,最后以与第一个数字相同的方式捕获第二个数字。
https://stackoverflow.com/questions/53827409
复制相似问题