欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

python关键字匹配_关于python:在遇到某个关键字后匹配值的正则表达式

发布时间:2025/3/20 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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:在遇到某个关键字后匹配值的正则表达式的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。