python語句matchsre findall rplain str 含義

2021-03-28 11:12:33 字數 4285 閱讀 7864

1樓:匿名使用者

[ ] 中的^表示取反,「非」的意思。

[^=;] 匹配 不為等號=且不為分號;的一個字元

* 表示前面這個字元出現0次或多次

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

2樓:花臂華盛頓

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

例:r"\n\n\n\n\n\n」

作用:宣告後面的字串是普通字串

特殊字串中含有:轉義字元 \n \t 什麼什麼的用途:一般用在 正規表示式、檔案絕對地址

1,正規表示式:

2、系統路徑

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

3樓:匿名使用者

python中字串前面加上 r 表示原生字串,

與大多數程式語言相同,正規表示式裡使用"\"作為轉義字元,這就可能造成反斜槓困擾。假如你需要匹配文字中的字元"\",那麼使用程式語言表示的正規表示式裡將需要4個反斜槓"\\\\":前兩個和後兩個分別用於在程式語言裡轉義成反斜槓,轉換成兩個反斜槓後再在正規表示式裡轉義成一個反斜槓。

python裡的原生字串很好地解決了這個問題,這個例子中的正規表示式可以使用r"\\"表示。同樣,匹配一個數字的"\\d"可以寫成r"\d"。有了原生字串,你再也不用擔心是不是漏寫了反斜槓,寫出來的表示式也更直觀。

4樓:匿名使用者

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

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

5樓:匿名使用者

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

6樓:鍾桑揚

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

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

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

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

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

7樓:匿名使用者

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

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

請問python中 items = re.findall(reg,html)括號內的怎麼理解?

8樓:莫路草根

括號裡面的兩個是引數,位置不能調換。

findall是re物件裡的一個方法,這個方法需要回2個引數:答reg,html。這兩個引數應該在上面的**有定義。

你可以把「方法」理解成一個生產機器,「引數」就是原材料。那麼方法的返回值就是生產機器生產出來的產品。

python 火車票查票的** 其中 e=re.findall('%s\|([^|]+)' % e,cont)[0]

9樓:匿名使用者

|'%s\|([^|]+)' % e

這是" 格式化字串%引數 "的形式 '%s\|([^|]+)' 是用於格式化的字回符串,%e e是引數

%s表示將e作為字串列印答 '\|([^|]+)' 於'|([^|]+')相同,如e 為hello,這個字串就是

'hello|([^|]+)' 這就是實際傳給findall的正規表示式,這樣正則就不對吧

如果字串前有r才對吧,e=re.findall(r'%s\|([^|]+)' % e,cont)[0] ,這樣提取findall查詢到的列表中下標為0的第一個值

python中的re模組,re.match(r'^.*$', 'abc')可以匹配,但是re.match(r'^[.]*$', 'abc')不能匹配。

10樓:匿名使用者

裡的.就是.

不是除換行符 \n 之外的任何單字元

11樓:匿名使用者

中括號裡的.就是指.不是任意的意思了。

python正規表示式ma = re.match(r'\d$','09') 這樣不對呢 10

12樓:混小子愛

你的正則翻譯過來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'>>> re.search(r'\d$','09').group()'9'

13樓:she小於

\d 只能匹配一個, 要匹配玩用

ma = re.match(r'\d+$','09')我一般這樣用

ma = re.search(r'\d+$','09')

python怎麼把re中的findall()找出來存在檔案裡

14樓:

個人觀點: 用分行儲存更方便進一步內處容理

with open('tmp_parsered.txt', 'wt') as handle:

handle.write( '\n'.join(r.findall(data1)) )

15樓:

data1 = ''.join(data1) ,這樣就ok了

16樓:匿名使用者

s2=''.join(s)

#然後再對s2用正則即可

python中的語句 prefix = re.sub(r'\.[^/]*$',' ',imagefile) 解釋

17樓:匿名使用者

用空格替換.或者.///////////(0或者任意多個/)

18樓:匿名使用者

使用 『 』(空格)替換imagefile中的 .或者是 非/ 的所有字元,並且結束字元不能是 '.'

19樓:匿名使用者

正規表示式

好好看看這個就懂啦

python 中re.findall ()的問題 10

20樓:匿名使用者

第一個問bai

題,答案是不能用成coords.group(1),re.findall返回du的是一個列表,zhi讀取列表需要用daocoords[0]這種方式專

第二個問題,你用正屬

則找出來的結果再用正則過濾一遍:

import re

print(re.sub(r'(.*), (.*), (.*), (.*)', r'\1, c\2, \3\4', str))

python語句del a什麼意思

pyhton中del語句可以用來刪除列表中某一個元素或者是某一個片段,只需要給出元素所在的索引值,而不需要給出元素的具體值。del a 2 4 就是指刪除列表a中索引2到索引4的值,但不包括4。示例 word heipa word heipa word 0 2 he 說明word 0 2 是顯示wo...

跪求python中的while語句的解答

你把圖中標記的,放到第二個while中試試,希望能幫到你。好了 注意 最左邊每個 表示一個空格 import turtle def draw pen size while size 100 count 1 while count 5 turtle.pencolor green turtle.forw...

python語法問題,Python語法問題?

因為python屬於抄弱變數語言,宣告函式的引數時bai,並不能du確定引數的型別。這樣就給zhi 的閱讀和維護dao,造成了一點小困擾。比如你宣告的 def add a,b 本意是a,b為整型,但呼叫傳參為字串,直譯器是不會進行判斷的。或者是它人匯入你的模組,呼叫的你的函式,就需要檢視完整 才知道...