这可能在python中重新进行吗?

nik*_*ik7 0 python regex

在python中的正则表达式中

[abc] 匹配a或b或c

怎么做[abc]匹配ab或bc?这可能吗 ?

小智 7

使用|正则表达式运算符指定多种可能性:

>>> import re
>>> pattern = re.compile("ab|bc")
>>>
>>> print pattern.match("abbbb")
<_sre.SRE_Match object at 0x105117918>
>>> print pattern.match("fooo")
None
>>> print pattern.match("bcdd")
<_sre.SRE_Match object at 0x105117918>
>>> print pattern.match("abc")
<_sre.SRE_Match object at 0x105117918>
Run Code Online (Sandbox Code Playgroud)

如果它是更大表达式的一部分,请将它们括在括号中:

>>> pattern = re.compile("(red|green) light")
>>> print pattern.match("red light")
<_sre.SRE_Match object at 0x105117918>
>>> print pattern.match("red lights everywhere")
<_sre.SRE_Match object at 0x1051116c0>
>>> print pattern.match("green lights forever")
<_sre.SRE_Match object at 0x105117918>
>>> print pattern.match("blue lights begone")
None
Run Code Online (Sandbox Code Playgroud)

有关所有选项,请参阅Python文档中的正则表达式语法.

  • @ynwa No.` []`总是代表单个角色的一系列可能性.它不能用于这种限制. (3认同)
  • @ynwa只删除方括号`([\ w\.-]*)(@ | at)([\ w\.-]*)`,看到它[在Regexr上](http://regexr.com ?30f4d) (2认同)