我無法弄清楚正則表達式如何解釋模式\\\\mac\\\\
。它出現在python中,\\mac\\
。正則表達式如何在python中解釋模式'\\ mac \''
不過,我徘徊,爲什麼不蟒蛇重模塊不斷解釋模式\mac\
,因爲它之前和在\\mac\\
字mac
背後有雙反斜線。
這是否意味着重做一次逃生並且不會逃脫已逃脫的字符串。有人可以幫助我嗎?
我無法弄清楚正則表達式如何解釋模式\\\\mac\\\\
。它出現在python中,\\mac\\
。正則表達式如何在python中解釋模式'\\ mac \''
不過,我徘徊,爲什麼不蟒蛇重模塊不斷解釋模式\mac\
,因爲它之前和在\\mac\\
字mac
背後有雙反斜線。
這是否意味着重做一次逃生並且不會逃脫已逃脫的字符串。有人可以幫助我嗎?
使用正則表達式字符串(與r
前綴)用於表示這種怪物:
r'\\\\mac\\\\'
然後所有角色留下給他們的方式。
>>> print r'\\\\mac\\\\'
\\\\mac\\\\
如果你想獲得一個正則表達式匹配這樣的怪物,你將需要避免在每個特殊字符:
>>> import re
>>> re.match(, r'\\\\mac\\\\')
<_sre.SRE_Match object at 0x7febff89d850>
引號和轉義經常碰到硬如果超過,瞭解情況一個解釋步驟發生。在這種情況下,正則表達式函數match
將解釋給出的字符串(\\\\\\\\mac\\\\\\\\
)。由於反斜槓作爲正則表達式語言中的轉義字符具有特殊含義,因此必須轉義反斜槓(再次使用反斜槓)。所以每個反斜槓都加倍了。這就是爲什麼你需要八個字面反斜槓來表示四個逐字反斜槓。如果您不使用r
表示法作爲字符串文字的前綴,那麼您必須將每個反斜槓加倍,因爲字符串解析器已經在字符串文本中解釋了反斜槓,而沒有使用r
前綴,即i。 e .:
r'\\\\\\\\mac\\\\\\\\' == '\\\\\\\\\\\\\\\\mac\\\\\\\\\\\\\\\\'
這就是爲什麼我稱之爲「怪物」。
你想匹配'** \\\\ mac \\\\ **'或者它是正則表達式本身嗎? –
\是一個元字符,所以如果你想匹配你的模式將不得不添加\以逃脫\,所以你最終將與\\。 – chuthan20
>>> re.match(r'\ * \ * \\\\ mac \\\\\\\\\\\'',r'** \\ mac \\\'') <_sre.SRE_Match at 0x10a1718 >「努力提高你的寫作水平,很難說清你需要什麼。 –