我正在尝试使用以下条件编写正则表达式。
为此我尝试过很多东西都没有用。
^[a-zA-Z]{1,3}[0-9]{6}[a-zA-Z]{0,3}[0-9]{0,2}
此表达式适用于匹配所有条件,但不允许空字符串。提前谢谢。
我只想验证字符串,如" AB 123456 ADF 12"。 正如我提到的第一点,字符串在给定字符串中的任何位置都包含空格,例如" AB 123 456 ADF 12"。
答案 0 :(得分:2)
您必须将模式包装在括号中,并使用?
将其设为可选:
^(?:[a-zA-Z]{1,3}[0-9]{6}[a-zA-Z]{0,3}[0-9]{0,2})?$
^
断言字符串的开头(?:
开始非捕获组
[a-zA-Z]{1,3}[0-9]{6}[a-zA-Z]{0,3}[0-9]{0,2}
您的模式)?
NCG结束,可选$
断言字符串结尾如果要匹配带有空白字符的字符串,请添加\\s
(或\s
处理文字)并删除?
:
^(?:[a-zA-Z]{1,3}[0-9]{6}[a-zA-Z]{0,3}[0-9]{0,2}|\s*)$
^^^^
基于评论:
^(?:[a-zA-Z](?:\s*[a-zA-Z]){0,2}\s*\d(?:\s*\d){5}(?:\s*[a-zA-Z](?:\s*[a-zA-Z]){0,2})?\s*(?:\d\s*\d?)?)$