Java-Regex-Allow 0-9,句点,hypen
我不能建立正确的正则表达式 有效期:Java-Regex-Allow 0-9,句点,hypen,java,regex,Java,Regex,我不能建立正确的正则表达式 有效期: 1.1.1 1.1-1 1-1.1 1-1-1 1-1 1.1 无效: 1..1 一, 1-1 一,- 到目前为止我 ^[0-9]+[0-9.-][0-9]+$ 感谢您的帮助,^[0-9]+[0-9.-][0-9]+$模式匹配与模式完全匹配的字符串:1个或多个数字([0-9]+),一个数字或或-([0-9.-),然后是1个或多个数字([0-9]+)。它可以在一串数字中匹配连续的-或/和 你可以用 ^[0-9]+(?:[.-][0-9]+)*$ 见
- 1.1.1
- 1.1-1
- 1-1.1
- 1-1-1
- 1-1
- 1.1
- 1..1
- 一,
- 1-1
- 一,-
^[0-9]+[0-9.-][0-9]+$
感谢您的帮助,
^[0-9]+[0-9.-][0-9]+$
模式匹配与模式完全匹配的字符串:1个或多个数字([0-9]+
),一个数字或
或-
([0-9.-
),然后是1个或多个数字([0-9]+
)。它可以在一串数字中匹配连续的-
或/和
你可以用
^[0-9]+(?:[.-][0-9]+)*$
见
如果在.matches()
方法中使用它,则可以省略^
和$
锚定
详细信息:
-字符串的开头^
-1个或多个([0-9]+
量词匹配1个或多个匹配项,如果只需要匹配单个匹配项,请删除+
量词)数字+
-零个或多个连续的(?:[.-][0-9]+)*
-a[.-]
或-
-1个或多个数字(与上述相同的量词注释适用)[0-9]+
-字符串结束$
^[0-9]([.-][0-9])*$
一位数字,后跟零次或多次出现的(点/负数字)其他答案略有变化。 您没有指出没有句号和连字符的单个数字的情况:
工作。谢谢尝试这样的方法:
([0-9]+[.-])*[0-9][.-]?
(方法匹配()
进行完全匹配,^$
对它们来说不是必需的。)给出示例是不够的。你必须指定你的规则。@EJP他记下了他当前使用的正则表达式,但这对他不起作用。所有这些都很好地格式化了。你还期待什么?我认为这对新手来说是个不错的问题。@GhostCat如果他使用的RE不起作用,它就不能正确地指定他需要的规则。这些例子也是如此。人们期待的是我所说的:规则。说明书。例子不可能做到这一点。
^\d([.-]\d)+$
^[0-9]([.-][0-9])*$
^[0-9]+(?:[.-][0-9]+)*$