我想从文本中提取包含“~~帐户(ed或s)~~~~~~~ sale(s)”的所有部分。我正在使用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
如果我使用像
这样的正则表达式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){1,100}。
答案 0 :(得分:0)
\s+to\s+(.*?account.*? for .*?sale(s){0,1})
这适用于您当前的示例。 你需要一些方法来决定比赛的开始位置,在这个例子中,我已经习惯了