加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 正则表达式:匹配单词或最大单词数

发布时间:2020-12-16 21:40:41 所属栏目:Python 来源:网络整理
导读:我想找一个短语,跟随它后面的几个单词,但如果我找到另一个特定的短语,请提前停止. 例如,我想在“前往”之后匹配最多三个单词,但如果我遇到“试试”,则停止匹配过程.因此,例如“前往月神公园”将导致“月神公园”; “前往首都秘鲁”将导致“首都”和“月亮尝
我想找一个短语,跟随它后面的几个单词,但如果我找到另一个特定的短语,请提前停止.

例如,我想在“前往”之后匹配最多三个单词,但如果我遇到“试试”,则停止匹配过程.因此,例如“前往月神公园”将导致“月神公园”; “前往首都秘鲁”将导致“首都”和“月亮尝试一些芝士蛋糕”将导致“月亮”.

可以使用单个简单的正则表达式(最好是在Python中)吗?我已经尝试了所有我能想到的组合,但是失败了:).

解决方法

只要没有后续尝试((?!to try)),这个单词最多可匹配3个({1,3})单词:
import re
infile = open("input","r")
for line in infile:
    m = re.match("going to the ((?:w+s*(?!to try)){1,3})",line)
    if m:
        print m.group(1).rstrip()

产量

luna park
capital city of
moon

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读