我使用此正则表达式:
^(?=.{4,6}$)\d{3}[-A-ZΑ-Ω0-9]{1,3}$
我需要我的正则表达式检测以下内容:
400-A1
400-B
400A
500C2
500-A2
600W3
而不是检测:
400-3
5002
4002A
400-1A
100AAA
3000AA
200
290-
290--
300---
100AA-
100A-A
答案 0 :(得分:0)
也许,这个表情值得一看:
^(?!\d{4,})(\d{1,3}-?[A-ZΑ-Ω0-9]{1,3}\s+?)+$
如果允许两个空格,或者
^(?!\d{4,})(\d{1,3}-?[A-ZΑ-Ω0-9]{1,3}\s?)+$
如果没有。
在this demo的右上角对表达式进行了说明,如果您想探索/简化/修改它,在this link中,您可以观察它如何与某些示例输入步骤匹配如果愿意,可以逐步进行。
答案 1 :(得分:0)
对于您的示例数据,您可以匹配4-6个字符,而无需提前(?=.{4,6}$)
您可以使用:
^\d{3}-?[A-Z]\d?$
说明
^
字符串的开头\d{3}
匹配3位数字-?
匹配可选的连字符(或使用字符类[Ω-]
列出允许的内容)[A-Z]
匹配单个字符A-Z \d?
匹配可选数字$
字符串结尾