簡體   English   中英

提取方括號之間的值,忽略單引號

[英]Extract values between square brackets ignoring single quotes

我正在嘗試以下方法:

s = "Text text text [123] ['text']"

這是我的功能:

def getFromSquareBrackets(s):
    m = re.findall(r"\[([A-Za-z0-9_']+)\]", s)
    return m

但我得到:

['123', "'text'"]

我想獲得:

['123', 'text'] 

如何忽略單引號?

您可以將'可選使用?

>>> re.findall(r"\['?([^'\]]+)'?\]", s)
['123', 'text']

  • \\['? 匹配[['

  • ([^'\\]]+)匹配']以外'任何內容並捕獲它們。

  • '?\\]匹配]']

'設為可選,並在捕獲組之外

m = re.findall(r"\['?([A-Za-z0-9_]+)'?\]", s)

暫無
暫無

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

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