2
我想從文本中提取所有包含「〜帳號(ed或s)以供~~~~~~~ sale」的部分。我正在使用python!python正則表達式百分號
例如,
sentence = "Henry Schenin inc, accounted for approximately 11% of our net sale"
我的正則表達式是
rx1 = re.compile('(.|\W){1,100}account(.|\W){1,100}for\W(.|\W){1,200}sale(.|\W){1,200}', re.I)
然而,這
rx1.search(sentence)
只返回None
,如果我使用普通的EXP ression像
rx2 = re.compile('(.|\W){1,100}account(.|\W){1,100}for\W(.|\W){1,200}', re.I)
我,
<_sre.SRE_Match object; span=(0, 67), match='Henry Schenin inc, accounted for approximately 11>
誰能幫我明白爲什麼這個正則表達式無法趕上百分號(%)之後的部分?
((我想提取公司的名稱之前上市的‘佔到了~~發售的’我使用的零件(|。\ W){} 1100在正則表達式的開始
'(。| \ W){1,100}''是一個壞主意,因爲'.'可以匹配什麼'\ W'匹配,你必須使用're.S'或're.DOTALL',並使用'''爲什麼不使用'r'^(。*?)\ s *,\ s *佔\ s + for \ b''然後're.search(pattern,sentence)'?請確認你需要從開始到提取字符串的一部分第一次出現',佔'。 –
@WiktorStribiżew由於我的文本不夠清晰,我更願意使用re.I(在提取這些句子之後,我必須做一些由StanfordTagger檢測的NNP,因此我不想讓文本變得更低)有沒有辦法我可以同時使用re.I和re.S?而且,我的文本比那個例句長,所以我想在「佔到~~~」之前提取公司的名字,這可能是一個或多個。另外,正則表達式結尾處的「銷售」一詞至關重要,因爲如果句子最後沒有包含「銷售」一詞,它可能不是我想要的 – ChanKim
是的,使用2個修飾符就像我回來了re.S'。 –