當前位置:首頁 » 編程語言 » python正則空格

python正則空格

發布時間: 2024-11-08 17:14:18

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

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

2. python正則表達式匹配一個空格分隔的所有單詞對

findall應該只能按著你的patten順次往後找,所以出不來你想要的那種結果吧,倒不如直接用split分割然後寫個循環輸出你要的結果
import re

patt = r'\W+'
str1 = 'as jk jsd eqwe dsads'
reg = re.compile(patt)

res = reg.split(str1)
lst = []
for x in res:
if x:
length_flag = 0
else:
length_flag = 1
for x in range(0,len(res)-length_flag-1):
lst.append((res[x],res[x+1]))
print(lst)
輸出結果就是你要的了
[('as', 'jk'), ('jk', 'jsd'), ('jsd', 'eqwe'), ('eqwe', 'dsads')]
我用的python3所以print帶了括弧,
另外我是個沒啥基礎剛自學的 方法可能非常笨拙

3. 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次

4. python用正則表達式去除空行

import re
str="aaa\n\nbbb\n\n\n"
print re.sub('[\r\n\f]{2,}','\n',str)

5. python中用正則表達式re去除空格但不去除換行符

如果只是想去空格,用不著正則,直接''.replace(' ','')就OK了

6. python正則表達式怎麼匹配一個「兩端都有空格且內部無空格、橫線和換行符」的詞

/^s+[^s-]+s+$/

^s空白符(空格、製表符、換行符)開頭

[^s-]不包含空白符-

s+$空白符結尾

熱點內容
淘寶客服電腦伺服器 發布:2024-11-08 19:39:26 瀏覽:910
伺服器4t如何擴容8t 發布:2024-11-08 19:32:27 瀏覽:297
網易我的世界電腦版好玩伺服器 發布:2024-11-08 19:16:06 瀏覽:414
學校電腦配置有哪些 發布:2024-11-08 19:00:40 瀏覽:267
安卓手機音量均衡器在哪裡 發布:2024-11-08 18:55:15 瀏覽:687
ie當前頁面腳本發生錯誤 發布:2024-11-08 18:53:55 瀏覽:274
安卓彈鋼琴的游戲叫什麼名字 發布:2024-11-08 18:38:29 瀏覽:251
演算法用英語 發布:2024-11-08 18:37:44 瀏覽:995
android自動彈出輸入法 發布:2024-11-08 18:19:51 瀏覽:276
存儲器最小單位 發布:2024-11-08 18:04:49 瀏覽:796