2011-07-04 65 views
3

如何從python正則表達式中獲得匹配的內容?python正則表達式返回完整結果

re.match("^\\\w*", "/welcome") 

所有的python返回值都是有效匹配;但我想要返回整個結果;我怎麼做?

+1

該表達式應該返回'None'。斜槓和反斜槓不一樣。 –

回答

3

只需使用re.findall函數。

>>> re.findall("a+", 'sdaaddaa') 
['aa', 'aa'] 
+0

我試過了,但沒有任何有效的返回(我正在使用RegexBuddy進行驗證) – nobody

+0

@nobody:這是因爲該模式與該字符串不匹配。 –

+0

@Roman Bodnarchuk解釋它;有它逆轉,並感謝findall – nobody

0

您可以使用一個組。

res = re.search("^(\\\w*)", "/welcome") 
if res: 
    res.group(1); 
0

調用返回的匹配對象的group()方法不帶任何參數將返回字符串的匹配部分。

+0

您的解決方案也很好 – nobody

0

正則表達式"^\\\w*"將匹配以反斜槓開頭的字符串,後跟0或更多的w字符。您搜索的字符串以正斜槓開頭,因此您的正則表達式不匹配。這就是爲什麼你沒有得到任何回報。

請注意,你的正則表達式,如果你打印出來的字符串包含\\w\\表示匹配單個反斜槓,則w的含義與文字w匹配。如果你想要一個反斜槓後跟一個單詞字符,那麼你將需要轉義第一個反斜槓,最簡單的方法是使用原始字符串r"^\\\w*"將匹配"\\welcome",但仍然不匹配"/welcome"

0

請注意,您是「^」,表示您的字符串必須從行首開始。 RegexBuddy默認不會告訴你。 也許你想告訴我們你到底在找什麼?

相關問題