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

時間 2023-01-26 13:30:02

1樓:匿名使用者

示例:1、(abc|bcd|cde),表示這一段是abc、bcd、cde三者之一均可,順序也必須一致。

2、(abc)?,表示這一組要麼一起出現,要麼不出現,出現則按此組內的順序出現。

3、(?abc)表示找到這樣abc這樣一組,但不記錄,不儲存到$變數中,否則可以通過$x取第幾個括號所匹配到的項,比如:(aaa)(bbb)(ccc)(?

ddd)(eee),可以用$1獲取(aaa)匹配到的內容,而$3則獲取到了(ccc)匹配到的內容,而$4則獲取的是由(eee)匹配到的內容,因為前一對括號沒有儲存變數。

方括號是單個匹配,示例:

1、[0-3],表示找到這一個位置上的字元只能是0到3這四個數字,與(abc|bcd|cde)的作用比較類似,但圓括號可以匹配多個連續的字元,而一對方括號只能匹配單個字元!

python中的正規表示式中的 "|"

2樓:紫薇參星

python中函式是要求正規表示式在捕獲第0組資料時,要在正規表示式上加小括號才能捕獲。

也就是說如果你要獲取整個正規表示式匹配的資料(你這裡是電子郵箱地址),需要在正規表示式外面加小括號,然後取第0捕獲組的資料(你這裡是[x[0] for x in zhengze]),因為findall函式把每一個匹配的多個捕獲組(就是你正規表示式中的小括號中)的資料放到一個元組裡,所以要用for迴圈把第0捕獲組的資料取出來。

具體程式改進如下。

>>>zhengze="(a-za-z0-9]+@163|qq|gmail)\.com)",txt)

>>>x[0] for x in zhengze]

結果就是你要的郵箱列表了。

3樓:網友

(?:163|qq) 可以這樣寫,則只匹配而不產生分組。

python正規表示式,匹配所有大括號內容

4樓:搗蒜大師

用不著正規表示式吧,直接讀取不就可以了。

python正規表示式 去掉括號及其裡面的內容

5樓:紫薇參星

python正規表示式 (.版) 替換為空 注意小括號是中文小括號。

完整的python程式如下。

#!/usr/bin/env python#encoding: utf-8

import re

str = 多摩君1(英文版)多摩君2(四川話版) 多摩君3(東北版)多摩君4(上部) '

out = 版)',str)print out

輸出多摩君1

多摩君2多摩君3

多摩君4 (上部)

python正規表示式re.findall(r"\b\w+\b", s)中的r是什麼意思?

6樓:花臂華盛頓

在python的string前面加上『r』, 是為了告訴編譯器這個string是個raw string,不要轉意backslash '\例如, 在raw string中,是兩個字元,\和n, 而不會轉意為換行符。由於正規表示式和 \ 會有衝突,因此,當一個字串使用了正規表示式後,最好在前面加上'r'。

例:r"」作用:宣告後面的字串是普通字串。

1,正規表示式:

2、系統路徑。

這樣就不用專門的去處理引號之中的特殊字元了。

7樓:匿名使用者

re是python裡的正規表示式模組。findall是其中一個方法,用來按照提供的正規表示式,去匹配文字中的所有符合條件的字串。返回結果是一個包含所有匹配的list。

[1] 就是列表中的[1]啊。

8樓:匿名使用者

1,表示匹配的值第一個字串。

9樓:鍾桑揚

延伸閱讀:python的 內建函式 和 subprocess 。此文是本系列的第三篇文章了,和之前一樣,內容出自官方文件,但是會有自己的理解,並非單純的翻譯。

所以,如果我理解有誤,歡迎指正,謝謝。

本模組提供了和perl裡的正規表示式類似的功能,不關是正規表示式本身還是被搜尋的字串,都可以是unicode字元,這點不用擔心,python會處理地和ascii字元一樣漂亮。

正規表示式使用反斜杆(\)來轉義特殊字元,使其可以匹配字元本身,而不是指定其他特殊的含義。這可能會和python字面意義上的字串轉義相沖突,這也許有些令人費解。比如,要匹配一個反斜杆本身,你也許要用'\\來做為正規表示式的字串,因為正規表示式要是\\,而字串裡,每個反斜杆都要寫成\\。

你也可以在字串前加上 r 這個字首來避免部分疑惑,因為 r 開頭的python字串是 raw 字串,所以裡面的所有字元都不會被轉義,比如r''這個字串就是一個反斜杆加上一字母n,而''我們知道這是個換行符。因此,上面的'\\你也可以寫成r'\\這樣,應該就好理解很多了。可以看下面這段:

10樓:匿名使用者

subn後面的中括號表示返回結果的iterable(迭代器),第2項,是說匹配的次數。

這個字串被匹配之後,替換了11次,因為每一個字元都是符合\w的。就都替換為hi了,然後返回了一個元組: (hihihihihihihihihihihi",11) ,故此[1]就是11.

python的正規表示式中的圓括號到底如何使用?

11樓:匿名使用者

正規表示式中(..的意思是 匹配封閉括號中的正規表示式(re),並儲存為子組。

python語言 正規表示式 取{}之間的字元,不包括大括號 22

python,正規表示式,匹配括號內部內容

12樓:知道名字很響亮

第一個匹配就是,或者設定引數,不全文匹配都行。

正規表示式中如何替換自身,正規表示式如何替換並修改自身的部分內容?

正則式 d 加圓括號表示分組並作為 反向索引 d表示一位數字 替換為 1a 1表示引用第1個組,對每個數字,替換為它本身跟上字母a 我用的emeditor,不同環境正則式語法也有差別。d可用 0 9 替代 1在有些環境中是 1 計名 其實,1 和 2 之間有 b 2 和 3 之間 b 123 s b...

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 將下一個字元標記為或特殊字元 或原義字元 或向後引用 或八進位制轉義符。例如,n 匹配字元 n n 匹配換行符。序列 匹配 而 則匹配 3 指明兩項之間...