我希望在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
复制相似问题