當前位置:首頁 » 編程語言 » python正則表達式括弧

python正則表達式括弧

發布時間: 2023-04-27 03:34:07

python入門問題,關於正則表達式。求高手通俗解答。

pattern=r'([1-9]{1,3}(.[0-9]{1,3}){3})'

[1-9]{1,3}表示匹配由1-9之間任意數組成的1位、2位或3位數,如1,12,123

.[0-9]{1,3}表示匹配1個點接由0-9之間任意數組成的1位、2位或御散3位數,如.1,.12,.123

(.[0-9]{1,3}){3}表示.[0-9]{1,3}的匹配條件重復3次,如.1.2.3,.1.12.123,168.1.1

([1-9]{1,3}(.[0-9]{1,3}){3})表示匹配1-9之間任意數組成的1位、2位或3位數+1個點接由0-9之間任意數組成的1位、2位陵拆亂或3位數 * 3次,所以可以尺檔匹配127.0.0.1,192.168.1.66

()僅僅表示括弧內的匹配項作為一組匹配,不會影響匹配的條件,

❷ python中的正則表達式中的 "|"

Python中re.findall()函數是要求正則表達式在捕獲第0組數據時,要在正則表達式上加小括弧才能捕獲.

也就是說如果你要獲取整個正則表達式匹配的數據(你這里是電子郵箱地址),需要在正則表達式外面加小括弧,

然後取第0捕獲組的數據(你這里是[x[0] for x in zhengze]),

因為findall函數把每一個匹配的多個捕獲組(就是你正則表達式中的小括弧中)的數據放到一個元組里,所以要用for循環把第0捕獲組的數據取出來.

具體程序改進如下

>>>zhengze=re.findall("([A-Za-z0-9]+@(163|qq|gmail).com)",txt)

>>>[x[0]forxinzhengze]

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

❸ Python中正則表達式的匹配規則總結

其他關於Python的總結文章請訪問: https://www.jianshu.com/nb/47435944

正則表達式用來匹配字元串,在python中可以使用 re 模塊來完成,本篇做一個對正則表達式的匹配規則的總結

在上述的精確匹配後可以跟上一些符號來進行模糊的匹配:

可以使用中括弧的形式進行范圍匹配,中括弧表達式後邊可以跟上上述模糊匹配的符號來表示數量

多個條件可以 緊跟著寫在同一個中括弧中 ,比如:
[a-zA-Z] :匹配一個大、小寫字母

❹ python正則表達式 去掉括弧及其裡面的內容

python正則表達式 (.*?版) 替換為空 注意小括弧是中文小括弧

完整的Python程序如下

#!/usr/bin/envpython
#encoding:utf-8
importre
str='多摩君1(英文版) 多摩君2(四川話版) 多摩君3(東北版) 多摩君4(上部)'
out=re.sub('(.*?版)','',str)
printout

輸出
多摩君1
多摩君2
多摩君3
多摩君4(上部)

❺ python 正則表達式

這個問題的確比較糾結首先明確一點
m.groups()==m.group(1)+m.group(2)+...+m.group(n)
要確定m.group(n)中的n到底是多少???
1.在你的匹配式中出現了幾次匹配成功的括弧,n就是幾
給你舉個例子m = re.match("([abc])+([abc])+", "abc"):
它出現了2次括弧,且這兩次括弧都能匹配,所以n=2。你可以print m.group(2)不會報錯,而 m = re.match("([abc])+", "abc"),print m.group(2)則會報錯
2.其次python的匹配引擎是從後面開始的
在給你舉個對比的例子:
例子1:m = re.match("([abc])+([abc])+([abc])+", "abc"):
如果你理解第一點,n=3,然後你可以print 一下 你會發現:
m.group(3)=『c』 ,m.group(2)='b',m.group(1)='a'

例子2:m = re.match("([abc])+([abc])+", "abc"):
m.group(1)=b,m.group(2)='c'
( python中說明了n在0-99間都是可以的,如果超出的話IndexErrorexception跳出)

如果你能看明白那麼應該groups的相應東西你理解的差不多了,接下來看你第二問
?表示匹配前面的表達式0個或一次,例子:go?匹配go為0或者1次
:呵呵 就是冒號的意思,所以你懂的,沒匹配到

寫那麼多,如果不明白,可以再問我哈 萬請採納

❻ Python中的正則表達式

因為正則表達式中有兩組小括弧,即兩個分組

findall會以元組形式返回所有分組中的內容,即[('127.0.0.1', '.1')]

其中'127.0.01'表示匹配最外層大括弧的內容

'.1'表示匹配'.[0-9]{1,3}'的內容(最後一次重復時為.1)

由於('.[0-9]{1,3}')為需要重復三次的分組,該括弧不能省略

而使用findall就一定會顯示括弧分組的內容

若想只顯示127.0.0.1而不顯示'.1',可考慮使用match方法

返回從字元串起始位置開始,第一次匹配正則表達式的內容

match返回的結果為re.Match對象,可通過group()顯示匹配的字元串,即127.0.0.1

通過groups()顯示匹配的所有分組,即('127.0.0.1', '.1')

如圖所示:

❼ [python]正則表達式 匹配內層花括弧

>>> import re
>>> s="{1 2 3 { 4 5 { 6 7 } } } "
>>> reg=re.compile(r"\{[^{}]*\}")
>>> reg.search(s).group(0)
'{ 6 7 }'
>>>

❽ 請問這個python正則表達式是什麼意思matches = re.findall('([^\s\\\]+)', line)

這個是用來匹毀信冊鉛配不帶空格和反斜杠的字元串。
這里的^匹配非中括弧里的字元;\s代纖姿輪表空格;\\\代表字元反斜杠(正則表達式需要雙反斜杠來轉義,因為\在正則表達式中本身就具有含義)
line = 'haha \\\\ \\ hehe'
matches = re.findall('([^\s\\\]+)', line)
print matches # ['haha', 'hehe']
望採納!

❾ python的正則表達式

1,正則表達式的一些內容

        正則表達式主要是用來匹配文本中需要查找的內容,例如在一片文章中找出電話號碼,就中國的來說11位純數字(不說座機),則使用"d{11}" 意味匹配數字11次,就能准確的查找出文本中的電話號碼. 還有就是在編寫網路爬蟲的時候需要提取很多超鏈接再次進行爬取,使用正則表達式就很方便.直接匹配http開頭就行,當然也可以使用beautifulsoup的select方法.

看下面的程序看看正則表達提取文本中的郵箱:


w 匹配字母,數字,下劃線 

+ 匹配1次或者多次
re是正則表達式的工具包,工具包出錯的話在anaconda的命令行輸入"pip install re"安裝,其他的工具包也是如此.

re.compile()中的r示意不是轉義字元,也就是保持後面字元串原樣,findall返回一個列表.下面還有一個版本的程序略有不同.


compile的另一個參數re.IGONORECASE(忽略大小寫),還可以是re.DORALL,多行模式,具體功能也是模糊不清,不過在使用通配符 . 匹配的時候加上re.DOTALL參數能夠匹配換行.如果希望忽略大小寫和多行模式都開啟可以使用re.compile(r'....',re.IGNORECASE|re.DOTALL) .

表達式使用( ),對匹配到的內容分為3組 也就是(w+)出現字母,數字,下劃線一次或多次,這個分組就是下面使用match對象的grou()方法的時候的參數.不給參數和參數0都是得到整個匹配到的內容,  參數1得到第一個括弧匹配到的內容,以此類推參數2和3,如果沒有括弧分組的話使用參數會出現錯誤.
search( )查找和正則式匹配的內容,只匹一次後面的那個找不到.返回一個match對象


w 匹配字母,數字,下劃線

W 匹配字母,數字.下劃線之外的所有字元

d 匹配數字

D 匹配非數字

s 匹配空格,製表符,換行符

S匹配除空格製表符,換行符之外的其他字元

[ .... ]定義自己的匹配,如[aeiouAEIOU ]匹配所有的母音字母,注意不是匹配單詞.

{最少次數,最多次數},例如{3,9} 匹配3-9次,{ ,10}匹配0-10次. 默認為匹配最多次數(貪心匹配),非貪心模式在後面加上問號 


?  可選 0次或者1次吧  

+匹配1次或多次

*匹配0次或者多次

^ 判斷開頭 ^d 如果待匹配串是數字開頭則返回第一個數字

$判斷結尾  d$  如果待匹配串是數字結尾則返回最後一個數字

.   通配符,匹配除換行之外的所有字元

   d{11}  匹配數字11次

    . * 匹配所有字元除 換行

[a-zA-Z0-9._%+-]  小寫和大寫字母、數字、句點、下劃線、百分號、加號或短橫

[a-zA-Z]{2,4} 匹配字母 2 - 4次

❿ python正則表達式,匹配所有大括弧內容

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

熱點內容
php獲取ip伺服器 發布:2024-11-01 14:38:13 瀏覽:442
萬科海上傳奇二期 發布:2024-11-01 14:22:52 瀏覽:59
u盤文件夾是空的 發布:2024-11-01 14:19:57 瀏覽:402
python包含字元串 發布:2024-11-01 14:19:17 瀏覽:479
c語言的精華 發布:2024-11-01 14:19:02 瀏覽:588
steam截圖文件夾 發布:2024-11-01 14:18:59 瀏覽:613
ipad怎麼往安卓傳照片 發布:2024-11-01 14:18:19 瀏覽:508
我的電腦沒有文件夾選項 發布:2024-11-01 14:13:55 瀏覽:546
vb創建資料庫表 發布:2024-11-01 14:11:55 瀏覽:872
sql聯合表 發布:2024-11-01 14:03:25 瀏覽:962