为了账号安全,请及时绑定邮箱和手机立即绑定

如果存在单词,则匹配,但仅当它与文本文件中的其他单词不匹配时才匹配

如果存在单词,则匹配,但仅当它与文本文件中的其他单词不匹配时才匹配

明月笑刀无情 2021-04-30 06:08:56
我想知道如何为以下问题使用Python创建RegEx:我有一个带有数据的文本文件,正则表达式仅在以下情况下才匹配:它具有正确的ID并且在文本文件内不包含特定的value2或value3(可以在任何地方出现)文本文件:blablaIDblabla...blablavalue1blabla...blablavalue2blabla...这(?<!\n)(\n.*(ID)(?!\n.*(value2|value3).*)有效,但仅当value2或value3在行ID之前或之后的行上。那么,如何查找行ID之前和之后的任何行?该解决方案应该适合单行代码,例如我上面的尝试。
查看完整描述

2 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

我相信

^(?![\s\S]*(value2|value3))[\s\S]*(ID)[\s\S]*

应该为您想要做的工作。

有关正则表达式操作Python文档包括有关的详细信息\s,该信息与空白字符\S匹配,而与则与非空白字符匹配。

(?!...)在此Stack Overflow帖子中有很多关于负前瞻的信息-开头的内容:正则表达式前瞻,后向和原子组


查看完整回答
反对 回复 2021-05-11
?
繁花如伊

TA贡献2012条经验 获得超12个赞

请勿更改标题,因为它会误导您,从文本文件中检索ID ”

可能的重复 Python-在txt.file中搜索ID,然后从下面的行返回变量

编写记录时,您的文本文件应具有标准的结构或格式。@Blender在将字典写到txt文件并读回 或使用字典格式中的解释可以帮助简化下次读取文件时识别id和值的过程。

格式正确的文本文件,使用循环然后读取每一行,然后执行split和into dict。

注意:想写评论,但信誉不够


查看完整回答
反对 回复 2021-05-11
  • 2 回答
  • 0 关注
  • 152 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号