我需要一个行的正则表达式,它的开头是两个字符,后面跟着2-4位或2-4位,后面跟着"-“,后面跟着2-4位数字。
示例:
看起来很简单,但我被困住了.
发布于 2011-03-19 16:47:46
正则表达式总是看起来很简单,一直到尝试使用它们的程度:-)
这一特定的问题可以通过以下方式来完成:
^[A-Z]{2}([0-9]{2,4}-)?[0-9]{2,4}$
那是:
sequence.
。
最后一个是BT1-2535
,它不符合您的文本规范,因为它在连字符之前只有一个数字。我猜那是个错误。如果您也希望允许小写,则还必须更改字符位以使用[A-Za-z]
。
发布于 2011-03-19 16:46:38
不如:
^[A-Z]{2}\d{2,4}(?:-\d{2,4})?
这将匹配两个大写字母,后面是2-4位数字,后面是(可选)一个连字符和另一个2-4位数字。
https://stackoverflow.com/questions/5363383
复制相似问题