python关键字匹配_关于python:在遇到某个关键字后匹配值的正则表达式
我有一些用空格分隔的路徑,但沒有用s/s分隔,即:空格、斜杠、空格
val1/val2 val4/val7關(guān)鍵字/somevalue aaa/bbb ccc/ddd eee/fff
第一個(gè)元素:val1/val2
第2個(gè)元素:VAL4/VAL7
第三個(gè)元素:關(guān)鍵字/somevalue
第四要素:AAA/BBB
第五要素:CCC/DDD
第6要素:EEE/FFF
當(dāng)我找到包含someValue的關(guān)鍵字時(shí):
1(keyword / [^/\s]*)
上述匹配后的唯一可接受值可以是AAA/BBB和CCC/DDD,無論順序如何,無論重復(fù)。
例如,我應(yīng)該得到一個(gè)匹配的
val1/val2 val4/val7關(guān)鍵字/somevalue aaa/bbb ccc/ddd
val1/val2 val4/val7關(guān)鍵字/somevalue aaa/bbb
val1/val2 val4/val7關(guān)鍵字/somevalue ccc/ddd
val1/val2 val4/val7關(guān)鍵字/somevalue ccc/ddd aaa/bbb
val1/val2 val4/val7關(guān)鍵字/somevalue ccc/ddd aaa/bbb ccc/ddd
任何其他組合都應(yīng)返回unmatch,例如:當(dāng)關(guān)鍵字/somevalue后面有一些額外的"element"時(shí)
val1/val2 val4/val7關(guān)鍵字/somevalue aaa/bbb ccc/ddd eee/fff
val1/val2 val4/val7關(guān)鍵字/somevalue eee/fff ccc/ddd
val1/val2 val4/val7關(guān)鍵字/somevalue aaa/bbb zzz/yyy ccc/ddd
(…)
我應(yīng)該被打敗。
可以用正則表達(dá)式來實(shí)現(xiàn)嗎?我想用正則表達(dá)式來解決這個(gè)問題,但我堅(jiān)持了。
不,這不是我要找的。編程語言不重要,但我添加了額外的標(biāo)記
編程語言很重要,因?yàn)椴⒎撬姓Z言都使用相同的regex風(fēng)格。因此,在一種語言中工作的模式可能無法與另一種語言一起工作。
不管怎樣,謝謝你的努力,對我來說沒關(guān)系。
讓我們試試下面的regex:
1keyword \/ \w+ ((?:aaa \/ bbb|ccc \/ ddd)(?: |$))+$
哪里:
keyword是你的固定關(guān)鍵字
aaa、bbb、ccc和ddd是字面上要匹配的。
aaa \/ bbb是允許的第一對,ccc \/ ddd是第二對。
(?: |$)檢查一對夫婦后面是否有空格或一行$的末尾。
我必須強(qiáng)調(diào),強(qiáng)烈建議使用編程語言進(jìn)行提取。您應(yīng)該拆分字符串并檢查分區(qū)。
謝謝你的Regex,它起作用了。在這種情況下,不可能使用任何編程語言。
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的python关键字匹配_关于python:在遇到某个关键字后匹配值的正则表达式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python读取文件按行分割字符串_py
- 下一篇: maven netty 配置_Sprin