我想使用正则表达式匹配以下字母数字组合; ao1 a12 01p p1p 1ap 1p1
。
使用following regex,我可以匹配除p1p and 1p1
以外的所有内容:
[a-z][0-9]{1,2}|[0-9]{1,2}[a-z]|[a-z][0-9][a-z]|[a-z]{1,2}[0-9]|[0-9][a-z][0-9]
如何使用正则表达式正确匹配交替的number/letter/number
和letter/number/letter
?它需要精确匹配3个字符,它们出现在句子中。
答案 0 :(得分:1)
您可以使用
(?<!\S)(?=[a-z]{0,2}\d)(?=\d{0,2}[a-z])[a-z\d]{3}(?!\S)
请参见regex demo
详细信息
(?<!\S)
-空格或字符串开头应位于当前位置的左侧(?=[a-z]{0,2}\d)
-当前位置右侧紧靠0到2个字母后必须有一个数字(?=\d{0,2}[a-z])
-当前位置的右侧必须在0到2位数字后紧跟一个字母[a-z\d]{3}
-三个字母或数字匹配(?!\S)
-空格或字符串结尾应位于当前位置的右侧。答案 1 :(得分:0)
您是否正在寻找类似下面的内容?
答案 2 :(得分:0)
因此,如果您需要数字/字母/数字和字母/数字/字母,则下面的方法应该起作用。但是您输入的ao1不符合此条件。
\d[a-z]\d|[a-z]\d[a-z]