Java多个正则表达式验证

3

我刚开始接触Java,正在尝试使用正则表达式验证用户输入。

我需要验证两种模式:

  • 版本号
  • 版本号-1.xy,其中x和y是数字

以下是我的模式,但不知为何它无法工作:

String versionRegex  = "^version-1.[1-9][1-9]|version";

感谢大家的帮助。

展示一些它不起作用的例子。 - Krzysztof Krasoń
你需要将 . 转义为 \.。其他部分似乎都是正确的。 - Kon
1
你怎么知道“它不起作用”?你输入了什么,结果是什么,你期望的结果是什么? - Erwin Bolwidt
2个回答

2
这将支持版本/version-1.xy/VERSION/VERSION-1.xy。
String versionRegex  = "(?i)^version(-1\\.[1-9][1-9])?";

1
String versionRegex  = "(?i)^version(-1\\.[1-9][1-9])?";

在Java中,需要使用\\进行转义.,并使用(?i)支持不区分大小写的匹配。

我建议使用 ^version(-1\\.[1-9][1-9])? - Jim Garrison
谢谢!如果我想支持大写字母,我应该添加什么?例如:VERSION-1.xy 或 VERSION。 - jaw mar
1
@jawmar,您需要在正则表达式前面添加(?i),这样它就会变成不区分大小写。 - Krzysztof Krasoń

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接