首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python正则表达式百分号

问python正则表达式百分号
EN

Stack Overflow用户
提问于 2017-09-05 19:52:40
回答 1查看 1.2K关注 0票数 2

我想从文本中提取包含"~~ account(ed or s) for ~ sale(s)“的所有部分。我使用的是python!

例如,

代码语言:javascript
复制
sentence = "Henry Schenin inc, accounted for approximately 11% of our net sale"

我的正则表达式是

代码语言:javascript
复制
rx1 = re.compile('(.|\W){1,100}account(.|\W){1,100}for\W(.|\W){1,200}sale(.|\W){1,200}', re.I)

然而,这

代码语言:javascript
复制
rx1.search(sentence)

仅返回None

如果我使用正则表达式,比如

代码语言:javascript
复制
rx2 = re.compile('(.|\W){1,100}account(.|\W){1,100}for\W(.|\W){1,200}', re.I)

我得到了,

代码语言:javascript
复制
<_sre.SRE_Match object; span=(0, 67), match='Henry Schenin inc, accounted for approximately 11>

谁能告诉我为什么这个正则表达式不能捕获百分号(%)后面的部分?

((因为我想提取在“占~~销售”部分之前列出的公司名称,我在正则表达式的开头使用了(.|\W){1,100}。

EN

回答 1

Stack Overflow用户

发布于 2017-10-31 10:52:22

代码语言:javascript
复制
\s+to\s+(.*?account.*? for .*?sale(s){0,1})

这将适用于您当前的示例。你需要一些方法来决定你的匹配从哪里开始,在这个例子中,我已经习惯于

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46054344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档