在python正則表達式中,如何匹配大字符串文本和標誌,如果任何一個正則表達式匹配的話......我試過用「|」或發表聲明,我已經嘗試做一個正則表達式列表..沒有工作對我來說..這裏是我試圖做的或..Python正則表達式(在一個字符串中搜索多個值)
我想我的「或」被註釋掉
爲例patterns=re.compile(r'[\btext String1\b] | [\bText String2\b]')
if(patterns.search(MyTextFile)):
print ("YAY one of your text patterns is in this file")
上面的代碼總是說它匹配,無論字符串是否出現,如果我改變它一下我得到匹配的第一個正則表達式,但從來沒有檢查第二....我相信這是因爲「原」是評論我的或聲明,但我將如何解決這個問題?
我也試圖通過取出「原始」的聲明,並把雙斜線我\ b對於逃避來解決這個問題,但沒有工作,要麼:(
patterns=re.compile(\\btext String1\\b | \\bText String2\\b)
if(patterns.search(MyTextFile)):
print ("YAY one of your text patterns is in this file")
然後我試圖做2個獨立的原始報表與或和解釋抱怨不支持STR opperands ...
patterns=re.compile(r'\btext String1\b' | r'\bText String2\b')
if(patterns.search(MyTextFile)):
print ("YAY one of your text patterns is in this file")
我懷疑你也應該去掉'|'周圍的空格,因爲它在正則表達式中很重要,我懷疑OP是否意識到這一點。此外,您在這裏不需要任何組,無論是捕獲還是非捕獲。 – 2010-07-17 15:42:23
@Tim,是的,我發佈後不久就注意到了。 – 2010-07-17 15:43:59
Sweeeet工作!!!!我可以發誓我試過 patterns = re.compile(r'(\ btext String1 \ b)|(\ bText String2 \ b)') 謝謝!!! 有沒有人有一個非常好的正則表達式教程/書等的建議?我正在慢慢學習,因爲我正在從事項目.. – eyes0cket 2010-07-17 16:09:16