Javascript 试图使正则表达式与范围匹配
到目前为止,我有Javascript 试图使正则表达式与范围匹配,javascript,regex,Javascript,Regex,到目前为止,我有^(\d.*.[.]?\d*)|([][=]?\d.*.[.]?\d*)|(\d.*.[.]?\d*.[-]\d.*.[.]]?\d*)$,但通过我的测试,我得到了: 应匹配:(全部匹配) >1 =99 你可以用这样的东西,也许: ^(?:[<>]?=?\d+(?:\.\d+)?|\d+(?:\.\d+)?-\d+(?:\.\d+)?)$ 您可以使用以下功能: ^(?:[<>]=?|\d+(?:.\d+)?-)?\d+(?:.\d+)?$ ^(?:[]
^(\d.*.[.]?\d*)|([][=]?\d.*.[.]?\d*)|(\d.*.[.]?\d*.[-]\d.*.[.]]?\d*)$
,但通过我的测试,我得到了:
应匹配:(全部匹配)
>1
=99
你可以用这样的东西,也许:
^(?:[<>]?=?\d+(?:\.\d+)?|\d+(?:\.\d+)?-\d+(?:\.\d+)?)$
您可以使用以下功能:
^(?:[<>]=?|\d+(?:.\d+)?-)?\d+(?:.\d+)?$
^(?:[]=?|\d+(?:。.d+)-?\d+(?:。.d+)$
匹配除*
之外的字符?@RahilWazir-不应匹配中的*只是标记示例不正确匹配。希望能澄清这个问题。你如何定义范围?你是说这样的事吗<代码>数字[.或-或<或>]数字
。如果是这样的话,您的正则表达式似乎太复杂了。@Justin808怎么样?如果您的字符和数字混合,子表达式/\d.*/
可能会出现问题<代码>“123=”.match(/\d.*/)匹配[“123=”]。看见您可能需要\d+
或\d*
(您偶尔使用过)@Justin808:您对此有何看法?
^(?:[<>]?=?\d+(?:\.\d+)?|\d+(?:\.\d+)?-\d+(?:\.\d+)?)$
\d+(?:\.\d+)?-\d+(?:\.\d+)?
+-----------+|+-----------+
1st num | 2nd num
minus sign
^(?:[<>]=?|\d+(?:.\d+)?-)?\d+(?:.\d+)?$