⑴ python正則匹配
java">#!/usr/bin/python
#-*-coding:utf-8-*-
importre
s='<liclass="x-left-li">大小: 1018KB <span>|</span></li> <liclass="x-left-lili-cs">下載: 321次 <span>|</span></li> <liclass="x-left-li">格式: .png <span>|</span></li>'
p=re.compile(r'[sS]*大小[:: f x20]+([da-zA-Z]+)[sS]*下載[:: f x20]+(d+)[sS]*格式[:: f x20]+([.a-zA-Zd]+)[sS]*')
prints+" ";
printp.sub(r'1',s)
printp.sub(r'2',s)
printp.sub(r'3',s)
⑵ python正則表達式匹配
import re
print(re.findall(r"[12|22]+3", "123223"))
⑶ Python正則表達式的幾種匹配方法
1.測試正則表達式是否匹配字元串的全部或部分
regex=ur"" #正則表達式
if re.search(regex, subject):
do_something()
else:
do_anotherthing()
2.測試正則表達式是否匹配整個字元串
regex=ur"/Z" #正則表達式末尾以/Z結束
if re.match(regex, subject):
do_something()
else:
do_anotherthing()
3.創建一個匹配對象,然後通過該對象獲得匹配細節(Create an object with details about how the regex matches (part of) a string)
regex=ur"" #正則表達式
match = re.search(regex, subject)
if match:
# match start: match.start()
# match end (exclusive): atch.end()
# matched text: match.group()
do_something()
else:
do_anotherthing()
4.獲取正則表達式所匹配的子串(Get the part of a string matched by the regex)
regex=ur"" #正則表達式
match = re.search(regex, subject)
if match:
result = match.group()
else:
result = ""
⑷ python有對整個文件進行正則表達式匹配的功能么
如果 Eclipse 堅持認為這個伺服器還沒有啟動成功的話 (我們沒有從 eclipse 中啟動它),我們可以手工做。
也可以寫一個簡單的 main class 在裡面寫上一段連接 TCP 埠 localhost:8005 並發送一條 SHUTDOWN 消息的程序,在 Eclipse 中運行這個 main class 就可以了。
⑸ 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怎麼樣使用正則表達式匹配用戶輸入的為文件路徑 就譬如像: E:\index.ph
你好:
正則表達式語法:
##總結
##^匹配字元串的開始。
##$匹配字元串的結尾。
##匹配一個單詞的邊界。
##d匹配任意數字。
##D匹配任意非數字字元。
##x?匹配一個可選的x字元(換言之,它匹配1次或者0次x字元)。
##x*匹配0次或者多次x字元。
##x+匹配1次或者多次x字元。
##x{n,m}匹配x字元,至少n次,至多m次。
##(a|b|c)要麼匹配a,要麼匹配b,要麼匹配c。
##(x)一般情況下表示一個記憶組(rememberedgroup)。你可以利用re.search函數返回對
##象的groups()函數獲取它的值。
##正則表達式中的點號通常意味著「匹配任意單字元」
⑺ python 正則匹配
用python正則表達式可以做到,因為點在正則表達式中可以代表任意字元(除回車換行符外)
正則表達式 (-?d+). 替換成 1 (1表示第一捕獲組的數據)
完整的Python程序如下
importre
s='-111•485503•剩餘部分'
regex=r'(-?d+).'
result=re.sub(regex,r"1 ",s)
print(result)
⑻ 關於python正則匹配的問題
使用pat.findall 匹配整個字元串,多次匹配
使用pat.search 整個字元串中匹配,只匹配一次
使用pat.match 從第一個字元開始匹配,只匹配一次
但是使用search和match必須使用group()來查看
即:你可以這樣
result = pat.search(buff)
result.group() #這個就是你相匹配的東西,只匹配一次
⑼ python 正則匹配xml中的文本
importre
str1="<paraValuename="startNum">100</paraValue>"
result=re.search(r'>(.*?)<',str1)
printresult.group(1)
⑽ Python如何正則表達式匹配固定搭配的文本文件名文件名
abc-bh(?:\.\d+)+\.txt