python从字符串中提取单词_在字符串中搜索并获取Python中匹配前后的2个单词

我正在使用

Python在描述(字符串)中搜索一些单词(也是多标记).

要做到这一点,我正在使用这样的正则表达式

result = re.search(word, description, re.IGNORECASE)

if(result):

print ("Trovato: "+result.group())

但我需要的是在比赛前后获得前2个单词.例如,如果我有这样的事情:

Parking here is horrible, this shop sucks.

“这里是”这个词我要找的.所以在我将它与我的正则表达式匹配后,我需要在比赛之前和之后的2个单词(如果存在).

在示例中:

停车在这里很可怕,这个

“停车”,可怕,这是我需要的话.

ATTTENTION

描述cab很长,“here is”模式可以出现多次?

最佳答案 我会这样做(编辑:添加锚点以涵盖大多数情况):

(\S+\s+|^)(\S+\s+|)here is(\s+\S+|)(\s+\S+|$)

像这样你将总是有4组(可能需要修剪)具有以下行为:

>如果组1为空,则之前没有单词(组2也为空)

>如果组2为空,则之前只有一个单词(组1)

>如果第1组和第2组不为空,则它们是按顺序排列的单词

>如果第3组为空,则之后没有任何字

>如果第4组为空,则后面只有一个单词

>如果第3组和第4组不为空,则它们是按顺序排列的单词

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值