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為整型,但呼叫傳參為字串,直譯器是不會進行判斷的。或者是它人匯入你的模組,呼叫的你的函式,就需要檢視完整 才知道...