栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在“否”,“否”和“从不”之后的否定单词中添加标签

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在“否”,“否”和“从不”之后的否定单词中添加标签

为了弥补Python的

re
正则表达式引擎缺乏某些Perl功能的不足,可以在
re.sub
函数中使用lambda表达式来创建动态替换:

import restring = "It was never going to work, he thought. He did not play so well, so he had to practice some more. Not foobar !"transformed = re.sub(r'b(?:not|never|no)b[ws]+[^ws]',        lambda match: re.sub(r'(s+)(w+)', r'1NEG_2', match.group(0)),        string,       flags=re.IGNORECASE)

将打印(此处为演示)

It was never NEG_going NEG_to NEG_work, he thought. He did not NEG_play NEG_so NEG_well, so he had to practice some more. Not NEG_foobar !

说明

  • 第一步是选择您感兴趣的字符串部分。
    b(?:not|never|no)b[ws]+[^ws]

您的否定关键字(

b
是一个单词边界,
(?:...)
一个非捕获性组),后跟字母和空格(
w
is
[0-9a-zA-Z_]
s
是所有空白),直到既不是字母数字也不是空格(用作标点符号)为止。

请注意,此处标点符号是强制性的,但您也可以安全地删除它

[^ws]
以匹配字符串的结尾。

  • 现在,您正在处理
    never going to work,
    某种字符串。只需选择前面带有空格的单词
    (s+)(w+)

并用您想要的替换它们

    1NEG_2


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/662380.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号