我想从文本中提取包含"~~ account(ed or s) for ~ 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}。
发布于 2017-10-31 10:52:22
\s+to\s+(.*?account.*? for .*?sale(s){0,1})这将适用于您当前的示例。你需要一些方法来决定你的匹配从哪里开始,在这个例子中,我已经习惯于
https://stackoverflow.com/questions/46054344
复制相似问题