java - 匹配简单 "id"值的正则表达式?

标签 java regex

我需要正则表达式来表示以两个字符开头,后跟 2-4 位数字或 2-4 位数字后跟“-”和 2-4 位数字开头的行。

例子:

  • AB125
  • AC123-25
  • BT1-2535

看似简单,但我坚持了下来......

最佳答案

正则表达式总是看起来很简单,直到您尝试使用它们:-)

这个特定的可以通过以下方式完成:

^[A-Z]{2}([0-9]{2,4}-)?[0-9]{2,4}$

那是:

  • 2 个字母(大写)字符。
  • 一个可选的 2 到 4 位数字和连字符序列。
  • 强制性的 2 到 4 位数字序列。
  • 开始和结束标记。

最后一个,BT1-2535,顺便说一句,与您的文本规范不匹配,因为它在连字符前只有 一个 数字。我假设那是一个错字。如果您还想允许小写,您还必须更改字符位以使用 [A-Za-z]

关于java - 匹配简单 "id"值的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5363383/

相关文章:

java - Android 中的基本身份验证登录

java - Eclipse Java printf 问题 PrintStream 不适用

java - TCPdump使用正则表达式解析序列号

java - 一个正则表达式可以(有效地)统治所有这些?

regex - 添加假饲料以与 apache mod_rewrite 一起使用

javascript - 正则表达式在谷歌浏览器中不起作用

java - 从文本文件读取分割字符串,传递到 ArrayList,然后显示在 JComboBox 中 - Java Swing

java - 将 Maven 存储库挂载到 Docker

java - CURL:客户端和服务器通信 Windows c/java

regex - 我使用冒号(:)时正则表达式中断