这里是我的代码条:括号蟒蛇rgex
import re
prog2 = re.compile(r'\[\w\]')
activity = "[CS150]"
if prog2.match(activity):
print 'matched'
else:
print 'unmatched'
我不知道为什么它打印无法比拟的,因为我说的格局很好,我认为并做了右输入。
这里是我的代码条:括号蟒蛇rgex
import re
prog2 = re.compile(r'\[\w\]')
activity = "[CS150]"
if prog2.match(activity):
print 'matched'
else:
print 'unmatched'
我不知道为什么它打印无法比拟的,因为我说的格局很好,我认为并做了右输入。
你需要匹配多个字符:
prog2 = re.compile(r'\[\w+\]')
注意+
量词。没有它,\w
字符类将匹配只是一个性格,有了它,图案至少一个字符匹配。
演示:
>>> import re
>>> prog2 = re.compile(r'\[\w+\]')
>>> activity = "[CS150]"
>>> prog2.match(activity)
<_sre.SRE_Match object at 0x106b2f6b0>
你必须在你的正则表达式的末尾添加*。否则,它会匹配单个字符。
下面这给了预期的结果
import re
prog2 = re.compile(r'\[\w+\]')
activity = "[CS150]"
if prog2.match(activity):
print ('matched')
else:
print ('unmatched')
>>matched
希望这是有帮助!
你打败了我,但这场战争尚未结束! :) –
@ user3226156:没有,'\ w'不*不*包含空格。 '\ w'只包括字母,数字和下划线。你可以匹配'[\ w] +'来匹配单词字符和空格。 –
是的,我刚刚意识到它。但是我怎样才能给\ w增加一个空间,我不在乎空间的位置。 – Rowel