簡體   English   中英

使用 python 中的正則表達式從字符串中檢索部分

[英]Retrieve sections from string using regular expressions in python

我有像"members[value eq\"2819c223-7f76-453a-919d-413861904646\"].displayName"這樣的字符串,我試圖在其中檢索成員、括號中的字符串和 displayname

我試過這個, matchObj = re.match( r"(.*)\[([.*]+)\?](.*?)", line, re.M|re.I)括號中的字符串和最后一個字符串(在.之后)是可選的(這部分"[value eq\"2819c223-7f76-453a-919d-413861904646\"].displayName" )。

我在這里做錯了什么?

(\w+)(\[[^]]*\])?(\.\w+)?
  • \w將匹配任何單詞字符(字母、數字和下划線)
    • 使用[a-zA-Z]僅匹配字母, [a-zA-Z\d]也匹配數字
  • \[[^]]*\]將匹配[后跟非]字符后跟]
    • (\[[^]]*\])? 使其對於整個模式都是可選的
  • \.\w+將匹配. 和單詞字符

如果您使用(.*)而不是(\w+)的貪婪.*將使其匹配所有內容,因為接下來的兩個是可選的。 另請參閱: 貪婪 vs. 不情願 vs. 占有量詞

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM