python正規表示式問題,Python ,正規表示式問題

時間 2021-06-28 17:11:06

1樓:老夭來了

#1、"?:" 在這裡是什麼用途?表示什麼意思?

#2、"(?:\d+,)+\d+",為什麼要加一個括號?

?:是(...)的不分組版本,意思就是說外面括號不是用來做資料提取的,僅僅是為了做數量指定的,就是說有個多少括號中匹配的資料。

比如 (?:\d+,)+\d+,就是迴圈匹配(\d+,)這個正則格式的資料

如果解決了您的問題請採納!

如果未解決請繼續追問

2樓:杜斯奎浦特

r'(.*) are (.*?) .*'

首先,這是一個字串,前面的一個r表示字串為非轉義的原始字串,讓編譯器忽略反斜槓,也就是忽略轉義字元。但是這個字串裡沒有反斜槓,所以這個r可有可無。

(.*) 第一個匹配分組,.*代表匹配除換行符之外的所有字元

(.*?)第二個匹配分組,.*?後面多個問號,代表非貪婪模式,也就是說只匹配符合條件的最少字元

後面的一個.*  沒有括號包圍,所以不是分組,匹配效果和第一個一樣,但是不計入匹配結果中。

matchobj.group() 等同於 matchobj.group(0),表示匹配到的完整文字字元

matchobj.group(1) 得到第一組匹配結果,也就是(.*)匹配到的

matchobj.group(2) 得到第二組匹配結果,也就是(.*?)匹配到的

因為只有匹配結果中只有兩組,所以填3時會報錯。

lua正規表示式,LUA 正規表示式

lua中修飾符 和 都表示匹配前一字元0次或多次,但 進行的是最短匹配,類似傳統正則中的非貪婪匹配,而 則是最長匹配,即貪婪匹配 由於你正則中最後一個 d 後面沒有任何東西了,那這個 進行了最短匹配,即什麼都不匹配,所以沒有捕獲到1999,而加上 後,由於有了結尾標識位,就必須匹配1999才能使整個...

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 對...

有關正規表示式的問題

上面那個是一個很好的驗證郵箱地址的正規表示式!你可以按照下面 斷句 的思想來理解!1.2.a za z0 9 3.a za z0 9 4.5.6.a za z0 9 7.a za z0 9 8.w 首先你必須知道正規表示式中的斷言 exp 這個結構的意思是 匹配後面跟的不是exp的位置 所以 其中1...