Python 满足某些关键字后匹配值的正则表达式
我有一些路径用空格分隔,但没有用\s/\s分隔,即:空格、斜杠、空格 val1/val2 val4/val7关键字/somevalue aaa/bbb ccc/ddd eee/fffPython 满足某些关键字后匹配值的正则表达式,python,regex,Python,Regex,我有一些路径用空格分隔,但没有用\s/\s分隔,即:空格、斜杠、空格 val1/val2 val4/val7关键字/somevalue aaa/bbb ccc/ddd eee/fff 第一要素:val1/val2 第二要素:val4/val7 第三个元素:关键字/somevalue 第四要素:aaa/bbb 第五要素:ccc/ddd 第六要素:eee/fff 当我找到具有somevalue的关键字时: (keyword / [^/\s]*) 上述匹配后唯一可接受的值可以是aaa/bbb和c
- 第一要素:val1/val2
- 第二要素:val4/val7
- 第三个元素:关键字/somevalue
- 第四要素:aaa/bbb
- 第五要素:ccc/ddd
- 第六要素:eee/fff
(keyword / [^/\s]*)
上述匹配后唯一可接受的值可以是aaa/bbb和ccc/ddd,无论顺序如何,也不管重复
例如,我应该得到一个匹配的
是您的固定关键字关键字
、aaa
、bbb
和ccc
是需要逐字匹配的ddd
是第一对允许的夫妇,aaa\/bbb
是第二对ccc\/ddd
检查一对夫妇后面是空格还是行尾(?:|$)
$
我必须强调,强烈建议使用编程语言进行提取。您应该拆分字符串并检查分区。不,这不是我要找的。编程语言并不重要,但我添加了额外的标记编程语言,因为并非所有语言都使用相同的regex风格。因此,在一种语言中工作的模式可能无法在另一种语言中工作。这对我来说并不重要,无论如何,感谢您的努力。感谢regex,它正在工作。在这种情况下,不可能使用任何编程语言。这很神秘。在什么情况下,以下情况可能是正确的?a) 使用正则表达式解决问题,b)不使用编程语言解决问题?
keyword \/ \w+ ((?:aaa \/ bbb|ccc \/ ddd)(?: |$))+$