我正在尝试创建一个RegEx来匹配符合以下条件的字符串
示例:
readline()
示例:
line = myfile.readline().strip('\n')
我的正则表达式:
strip()
这是到目前为止,我只处理第一种情况。请帮助我构造一个正则表达式来处理此要求。
答案 0 :(得分:2)
您可以使用另一种方式:
^([A-Za-z][0-9]{6}|[0-9]{2}[A-Za-z][0-9]{6})$
请参见regex demo
详细信息
^
-字符串的开头(
-分组构造的开始(您可以在?:
之后添加(
以使其不被捕获),它将与以下任一匹配:
[A-Za-z][0-9]{6}
-ASCII字母,然后是6位数字|
-或[0-9]{2}[A-Za-z][0-9]{6}
-2位数字,1个字母,6位数字)
-分组构造的结尾$
-字符串的结尾。答案 1 :(得分:0)
尝试这样的正则表达式:
^([0-9]{2})?[a-zA-Z][0-9]{6}$
?
显示[0-9]{2}
组是可选的。
因此,如果您有长度为7的字符串,则该组不存在。如果您有长度为9的字符串,则该组存在。