日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 正则匹配 条件太多怎么办_Python条件正则表达式

發布時間:2023/12/4 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 正则匹配 条件太多怎么办_Python条件正则表达式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我的程序被賦予一個帶參數的對象,我需要獲取參數的值。

我的程序給出的對象如下所示:Object = """{{objectName|

parameter1=random text|

parameter2=that may or may not|

parameter3=contain any letter (well, almost)|

parameter4=this is some [[problem|problematic text]], Houston, we have a problem!|

otherParameters=(order of parameters is random, but their name is fixed)}}"""

(所有參數可能存在也可能不存在)

我想獲取屬性值。

在前3行中,它非常簡單。一個簡單的正則表達式會找到它:if "parameter1" in Object:

parameter1 = re.split(r"parameter1=(.*?)[\|\}]", Object)[1]

if "parameter2" in Object:

parameter2 = re.split(r"parameter2=(.*?)[\|\}]", Object)[1]

等等。

問題在于參數4,上面的regex(property4=(.*?)[\|\}])只會返回this is some [[problem,因為正則表達式在垂直條上停止。

現在就是這樣:垂直條只會出現在“[[]]”中的文本的一部分。

例如,parameter1=a[[b|c]]d可能會出現,但parameter1=a|bc|永遠不會出現。

我需要一個在垂直條上停止的正則表達式,除非它在雙方括號內。例如,對于parameter4,我會得到this is some [[problem|problematic text]], Houston, we have a problem!

總結

以上是生活随笔為你收集整理的python 正则匹配 条件太多怎么办_Python条件正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。