这是我的代码:
import re
prog2 = re.compile(r'\[\w\]')
activity = "[CS150]"
if prog2.match(activity):
print 'matched'
else:
print 'unmatched'
我不知道它为什么打印无与伦比,因为我认为这种模式很好,并给出了正确的输入。
答案 0 :(得分:1)
您需要匹配多个角色:
prog2 = re.compile(r'\[\w+\]')
注意+
量词。没有它,\w
字符类将只匹配一个字符,使用它,模式匹配至少一个字符。
演示:
>>> import re
>>> prog2 = re.compile(r'\[\w+\]')
>>> activity = "[CS150]"
>>> prog2.match(activity)
<_sre.SRE_Match object at 0x106b2f6b0>
答案 1 :(得分:0)
您必须在正则表达式的末尾添加*。否则它匹配单个字符。
答案 2 :(得分:0)
以下给出预期结果
import re
prog2 = re.compile(r'\[\w+\]')
activity = "[CS150]"
if prog2.match(activity):
print ('matched')
else:
print ('unmatched')
>>matched
希望有用!