我想從文本中區分大小寫匹配。在下面的例子中,我嘗試使用re.search匹配「Ca.iNy」,我想匹配其中「C」應該是大寫的,並且所有字符都可以在任何情況下保留。如果它匹配我想要爲變量設置一個值的情況。使用python re.search的區分大小寫匹配
我已經採取了SO的幫助形式,並通過檢查第一個字母是否是大寫字母來實現,並且它對於單個檢查工作正常。
s = "The details belong to (Ca.iNy.) in this case"
reg = re.compile("Ca.iny.", re.I)
reg.search(s).group().startswith("C").
但是,我不能在「if else循環」中使用它。我嘗試了下面的代碼,但搜索似乎不區分大小寫。任何人都可以請讓我?
import re
st = "The details belong to (Ca.iNy.) in this case"
Mval = ''
if re.search(r"C(?i)a.iny", st):
Mval = "AAAAA"
elif re.search(r"(?i)Ky.", st):
Mval = "BBBBB"
elif re.search(r"(?i)M.sa.", st):
Mval = "CCCCC"
else:
Mval = "DDDDD"
print Mval
可能重複的[Python的RE(在字,檢查第一個字母是大小寫敏感的,其餘全部不區分大小寫)] (http://stackoverflow.com/questions/15071416/python-re-in-a-word-to-check-first-letter-is-case-sensitive-and-rest -all-case) – geoffspear 2013-02-26 16:39:50
@Wooble。那裏的答案只涉及一個案例。但這裏的問題是在執行if else循環期間。因爲如果需要匹配50個左右的情況下使用,否則。如果我最初編譯所有模式,將不會好。 – 2013-02-26 16:42:41
@Wooble你可以取消重複的標記嗎?這樣你們中的任何一個人都可以幫助我實現這一目標? – 2013-02-26 16:48:04