python关键字匹配_关于python:在遇到某个关键字后匹配值的正则表达式
我有一些用空格分隔的路径,但没有用s/s分隔,即:空格、斜杠、空格
val1/val2 val4/val7关键字/somevalue aaa/bbb ccc/ddd eee/fff
第一个元素:val1/val2
第2个元素:VAL4/VAL7
第三个元素:关键字/somevalue
第四要素:AAA/BBB
第五要素:CCC/DDD
第6要素:EEE/FFF
当我找到包含someValue的关键字时:
1(keyword / [^/\s]*)
上述匹配后的唯一可接受值可以是AAA/BBB和CCC/DDD,无论顺序如何,无论重复。
例如,我应该得到一个匹配的
val1/val2 val4/val7关键字/somevalue aaa/bbb ccc/ddd
val1/val2 val4/val7关键字/somevalue aaa/bbb
val1/val2 val4/val7关键字/somevalue ccc/ddd
val1/val2 val4/val7关键字/somevalue ccc/ddd aaa/bbb
val1/val2 val4/val7关键字/somevalue ccc/ddd aaa/bbb ccc/ddd
任何其他组合都应返回unmatch,例如:当关键字/somevalue后面有一些额外的"element"时
val1/val2 val4/val7关键字/somevalue aaa/bbb ccc/ddd eee/fff
val1/val2 val4/val7关键字/somevalue eee/fff ccc/ddd
val1/val2 val4/val7关键字/somevalue aaa/bbb zzz/yyy ccc/ddd
(…)
我应该被打败。
可以用正则表达式来实现吗?我想用正则表达式来解决这个问题,但我坚持了。
不,这不是我要找的。编程语言不重要,但我添加了额外的标记
编程语言很重要,因为并非所有语言都使用相同的regex风格。因此,在一种语言中工作的模式可能无法与另一种语言一起工作。
不管怎样,谢谢你的努力,对我来说没关系。
让我们试试下面的regex:
1keyword \/ \w+ ((?:aaa \/ bbb|ccc \/ ddd)(?: |$))+$
哪里:
keyword是你的固定关键字
aaa、bbb、ccc和ddd是字面上要匹配的。
aaa \/ bbb是允许的第一对,ccc \/ ddd是第二对。
(?: |$)检查一对夫妇后面是否有空格或一行$的末尾。
我必须强调,强烈建议使用编程语言进行提取。您应该拆分字符串并检查分区。
谢谢你的Regex,它起作用了。在这种情况下,不可能使用任何编程语言。
《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读总结
以上是生活随笔为你收集整理的python关键字匹配_关于python:在遇到某个关键字后匹配值的正则表达式的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: python读取文件按行分割字符串_py
- 下一篇: python leetcode_Leet