這裏是我的代碼條:括號蟒蛇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