[英]Retrieve variables Regex Python
有沒有辦法在Python的正則表達式中檢索模式? 例如。:
strA ='\\ ta-b'
我想將“ a”和“ b”檢索到不同的變量中
聽起來您正在談論保存/捕獲組 :
>>> import re
>>> pattern = r"\t(\w+) -- (\w+)"
>>> s = ' test1 -- test2'
>>> a, b = re.search(pattern, s).groups()
>>> a
'test1'
>>> b
'test2'
您無法檢索模式 ,您可以匹配或檢索與您的模式匹配的捕獲組內容 。
按照您的示例:
\ta -- b
如果要檢索內容,則可以使用括號來捕獲組,例如:
\t(a) -- (b)
正則表達式的解釋是:
\t '\t' (tab)
( group and capture to \1:
a 'a'
) end of \1
-- ' -- '
( group and capture to \2:
b 'b'
) end of \2
然后,您可以通過依次訪問其索引,例如\\1
(或$1
)和組\\2
(或$2
)來獲取組內容。 但是您將獲取匹配的內容,而不是模式本身。
因此,如果您有:
\t(\w) -- (\d)
您將獲取與該模式匹配的內容:
\t '\t' (tab)
( group and capture to \1:
\w word characters (a-z, A-Z, 0-9, _)
) end of \1
-- ' -- '
( group and capture to \2:
\d digits (0-9)
) end of \2
但是您無法檢索\\w
或\\d
本身。
如果要獲取此模式:
\t\w -- \d
您應該在字符串上方除以--
然后得到字符串::
"\t\w "
" \d"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.