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時會報錯。
Python正規表示式反斜槓問題
與大多數程式設計bai語言相du同,正規表示式裡使用zhi 作為轉義字元,dao這就可能造成反內 斜槓困擾。假如你需要容匹配文字中的字元 那麼使用程式語言表示的正規表示式裡將需要4個反斜槓 前兩個和後兩個分別用於在程式語言裡轉義成反斜槓,轉換成兩個反斜槓後再在正規表示式裡轉義成乙個反斜槓。pytho...
Python正規表示式marematchrd
你的正則翻譯過來bai就是匹du配長度為乙個字元的數字,所zhi以dao是不對的,match是從頭開始 專,是結尾標示,屬如果匹配1個或以上字元使用 re.match r d 09 group 09 re.match r d 09 group 09 re.match r d 09 group 0 r...
正規表示式,匹配中文問題,正規表示式匹配中文,網上有兩種 u4e00 u9fa5 和 x00 xff ,但貌似不只匹配中文。
換個軟體吧。大大,誰說正則不能支援中文。當然,你也可以用unicode來代替。不過,還要去查漢字的unicode,太累了。只能跟你說,很多支援正則的軟體都能支援中文。正則支援 中文 regextester.exe 很多地方有的下 the regulator 這兩個都是比較經典的軟體 正規表示式匹配中...