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+)?$