我需要正则表达式来表示以两个字符开头,后跟 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/