python 正規表示式 關於 和的問題

時間 2021-09-11 22:25:29

1樓:邢廷洋

如果你只是想匹配標籤裡邊的內容,用這個吧,(?<=>).*(?=<)可以匹配標籤裡邊的內容。

如果你用(),這個表示分組,$1表示結果裡邊的第一個匹配內容。

*和+都是貪婪量詞,前者匹配0次或多次,後者匹配1次或者多次。

2樓:

你用*的時候,表示0個或者多個。。正則就最小取0個了。。。

括號的作用是分組,在專業正則中叫做捕獲分組,主要用於區分非捕獲分組,(?:),表示我只要括號中的匹配內容,括號外的雖然滿足條件,但是我不要。

例如:匹配的正則,如果是<\w+>,結果為如果是<(\w+)>,結果為hello

另外裡面匹配的內容是可以命名 ,使用(?p),重複,例如\1,表示這個位置等於第一個括號框著的內容。

3樓:匿名使用者

正規表示式教程裡有。在python的幫助裡有。不長,仔細的看一次。然後找一個正規表示式驗證工具。其中有一個就是python寫的。多試幾次。

正規表示式挺難掌握,掌握後又很好用,基本上各個語言通用。

它其實是就是一個順序的搜尋邏輯。你想象自己寫一個正規表示式編譯器,然後順序讀入字串去解析匹配,這樣容易學些。

以上只是學習正規表示式的經驗。與問題無關。

你的問題裡有了括號就是指定了一個組。所以列印的時候要這樣print m.group(1) 你再試試看。不要用print m.group()

4樓:閃洲廖晴曦

你理解錯了。r"2x\+5y"這裡是指對

字串中的"\"不做轉義處理;

而正規表示式中"\+"表示的是對

正規表示式

中的"+"做轉義處理,這是因為"+"在正規表示式中有特殊含義,這和字串的轉義是沒有關係的。

說的更清楚一點就是,你在程式裡寫"\\+"或者r"\+"在記憶體裡都是儲存了一個"\"和一個"+",而正規表示式引擎只要從記憶體讀取到一個連續的"\"和"+",就會理解為你想要匹配"+"這個字元。

所以說,如果你不在字串前寫r,那個正規表示式字串應該這麼寫的:

"2x\\+5y|7y-3z"

python正規表示式groups和group有什麼區別

group和groups是兩個不同的函式。一般,m.group n 返回第n組括號匹配的字元。而m.group m.group 0 所有匹配的字元,與括號無關,這個是api規定的。m.groups 返回所有括號匹配的字元,以tuple格式。m.groups m.group 0 m.group 1 對...

Python正規表示式中括號的作用

示例 1 abc bcd cde 表示這一段是abc bcd cde三者之一均可,順序也必須一致。2 abc 表示這一組要麼一起出現,要麼不出現,出現則按此組內的順序出現。3 abc 表示找到這樣abc這樣一組,但不記錄,不儲存到 變數中,否則可以通過 x取第幾個括號所匹配到的項,比如 aaa bb...

正規表示式中和有什麼區別,正規表示式裡面 和 有什麼區別?

之蘿蘿蔔 最基本的意思 小括號就是括號內看成一個整體 中括號就是匹配括號內的其中一個,大括號就是匹配幾次 但是括號裡變加上其他字元就有不同意思 詳細介紹 例如 n是一個非負整數。匹配確定的n次。例如,o 不能匹配 bob 中的 o 但是能匹配 food 中的兩個o。n是一個非負整數。至少匹配n次。例...