簡體   English   中英

檢索變量Regex Python

[英]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.

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