use*_*778 2 python regex match
我可以使用什么正则表达式来匹配由字符A,B或C组成的单词?例如,正则表达式将捕获ABCBACBACBABBABCC和A和B和C,但不会捕获ABCD,ABC1等.
怎么样\b[ABC]+\b?那样有用吗?
>>> regex = re.compile(r'\b[ABC]+\b')
>>> regex.match('AACCD') #No match
>>> regex.match('AACC') #match
<_sre.SRE_Match object at 0x11bb578>
>>> regex.match('A') #match
<_sre.SRE_Match object at 0x11bb5e0>
Run Code Online (Sandbox Code Playgroud)
\b是一个单词边界.所以这里我们匹配任何单词边界后面跟着的东西A,B或者C字符直到下一个单词边界.
对于那些不喜欢正则表达式的人,我们也可以set在这里使用对象:
>>> set("ABC").issuperset("ABCABCABC")
True
>>> set("ABC").issuperset("ABCABCABC1")
False
Run Code Online (Sandbox Code Playgroud)