Python 用正则表达式匹配交替字母数字字符

Python 用正则表达式匹配交替字母数字字符,python,regex,Python,Regex,我想使用正则表达式匹配以下字母数字组合ao1 a12 01p p1p 1ap 1p1 使用,我可以匹配除p1p和1p1之外的所有选项: [a-z][0-9]{1,2}}[0-9]{1,2}[a-z][0-9][a-z]{1,2}[0-9][a-z][0-9] 如何使用正则表达式正确匹配交替的number/letter/number和letter/number/letter?它需要精确匹配3个字符,它们出现在句子中。您是否在寻找下面这样的内容 因此,如果您需要数字/字母/数字和字母/数字/字母,下

我想使用正则表达式匹配以下字母数字组合<代码>ao1 a12 01p p1p 1ap 1p1

使用,我可以匹配除p1p和1p1之外的所有选项:

[a-z][0-9]{1,2}}[0-9]{1,2}[a-z][0-9][a-z]{1,2}[0-9][a-z][0-9]


如何使用正则表达式正确匹配交替的
number/letter/number
letter/number/letter
?它需要精确匹配3个字符,它们出现在句子中。

您是否在寻找下面这样的内容


因此,如果您需要数字/字母/数字和字母/数字/字母,下面应该可以。但您的输入ao1不符合此条件

\d[a-z]\d|[a-z]\d[a-z]
你可以用

(?<!\S)(?=[a-z]{0,2}\d)(?=\d{0,2}[a-z])[a-z\d]{3}(?!\S)
(?
见

详细信息

  • (?-空格或字符串开头应紧靠当前位置的左侧
  • (?=[a-z]{0,2}\d)
    -当前位置右侧的0到2个字母后面必须有一个数字
  • (?=\d{0,2}[a-z])
    -当前位置右侧的0到2位数字后面必须有一个字母
  • [a-z\d]{3}
    -三个字母或数字匹配
  • (?!\S)
    -空格或字符串结尾应紧靠当前位置的右侧

你的意思是匹配
[a-z0-9]{3}
\b[a-z0-9]{3}\b
(?)或者甚至
(?)你能提供一个示例输出吗?比如你想从
01p
?@WiktorStribiżew中字符串以0开头的情况中得到什么?这正是我想要的!谢谢:)。到底是哪一个?:)最后一个,
(?我应该提到,我也在寻找匹配单词边界的方法,我需要从单词的句子中提取它们,只需要三个字符的组合。Wiktor的解决方案确实做到了这一点,即使你的解决方案与我的示例相匹配:)。好的。明白了……)谢谢@Wiktor,这正是我所需要的。