python如何匹配指定的文字

python 根據正則表達式提取指定的內容
正則表達式是極其強大的,利用正則表達式來提取想要的內容是很方便的事。
實例代碼
import re# 正則表達式是極其強大的,利用正則表達式來提取想要的內容是很方便的事。# 下面演示了在python里,通過正則表達式來提取符合要求的內容。有幾個要注意# 的地方就是:# [1] 要用()將需要的內容包含起來# [2] 編號為0的group是整個符合正則表達式的內容,編號為1的是第一個(及對應# 的)包含的內容# @param regex: regular expression, use () to group the result# 正則表達式,用()將要提取的內容包含起來# @param content: # @param index: start from 1, depends on the \p regex's ()# 從1開始,可以通過數(來得到,其中0是全部匹配# @return: the first match of the \p regex# 只返回第一次匹配的內容def extractData(regex, content, index=1): r = '0' p = re.compile(regex) m = p.search(content) if m: r = m.group(index) return r regex = r'第(.*)場雪'content = '2002年的第一場雪'index = 1print extractData(regex, content, index)

⑵ python 通配符匹配如何進行

我覺得你可以使用正則表達式,比如:

importre
p=re.compile('.*.sougou.com')
s="ht.sougou.com!@#$%^&*()"

ifp.match(s):
print'True'

⑶ python正則表達式匹配

Python 正則表達式
正則表達式是一個特殊的字元序列,它能幫助你方便的檢查一個字內符串是否容與某種模式匹配。
Python 自1.5版本起增加了re 模塊,它提供 Perl 風格的正則表達式模式。
re 模塊使 Python 語言擁有全部的正則表達式功能。
compile 函數根據一個模式字元串和可選的標志參數生成一個正則表達式對象。該對象擁有一系列方法用於正則表達式匹配和替換。
re 模塊也提供了與這些方法功能完全一致的函數,這些函數使用一個模式字元串做為它們的第一個參數。

⑷ 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 ="" 5. 獲取捕獲組所匹配的子串(Get the part of a string matched by a capturing group) regex=ur"" #正則表達式
match = re.search(regex, subject)if match: result = match.group(1)else: result ="" 6. 獲取有名組所匹配的子串(Get the part of a string matched by a named group) regex=ur"" #正則表達式
match = re.search(regex, subject)if match:result = match.group"groupname")else:result = "" 7. 將字元串中所有匹配的子串放入數組中(Get an array of all regex matches in a string) result = re.findall(regex, subject) 8.遍歷所有匹配的子串(Iterate over all matches in a string) for match in re.finditer(r"<(.*?)/s*.*?//1>", subject) # match start: match.start() # match end (exclusive): atch.end() # matched text: match.group() 9.通過正則表達式字元串創建一個正則表達式對象(Create an object to use the same regex for many operations) reobj = re.compile(regex) 10.用法1的正則表達式對象版本(use regex object for if/else branch whether (part of) a string can be matched) reobj = re.compile(regex)if reobj.search(subject): do_something()else: do_anotherthing() 11.用法2的正則表達式對象版本(use regex object for if/else branch whether a string can be matched entirely) reobj = re.compile(r"/Z") #正則表達式末尾以/Z 結束
if reobj.match(subject): do_something()else: do_anotherthing() 12.創建一個正則表達式對象,然後通過該對象獲得匹配細節(Create an object with details about how the regex object matches (part of) a string) reobj = re.compile(regex) match = reobj.search(subject)if match: # match start: match.start() # match end (exclusive): atch.end() # matched text: match.group() do_something()else: do_anotherthing() 13.用正則表達式對象獲取匹配子串(Use regex object to get the part of a string matched by the regex) reobj = re.compile(regex) match = reobj.search(subject)if match: result = match.group()else: result ="" 14.用正則表達式對象獲取捕獲組所匹配的子串(Use regex object to get the part of a string matched by a capturing group) reobj = re.compile(regex) match = reobj.search(subject)if match: result = match.group(1)else: result ="" 15.用正則表達式對象獲取有名組所匹配的子串(Use regex object to get the part of a string matched by a named group) reobj = re.compile(regex) match = reobj.search(subject)if match: result = match.group("groupname")else: result ="" 16.用正則表達式對象獲取所有匹配子串並放入數組(Use regex object to get an array of all regex matches in a string) reobj = re.compile(regex) result = reobj.findall(subject) 17.通過正則表達式對象遍歷所有匹配子串(Use regex object to iterate over all matches in a string) reobj = re.compile(regex)for match in reobj.finditer(subject): # match start: match.start() # match end (exclusive): match.end() # matched text: match.group()字元串替換 1.替換所有匹配的子串 #用newstring替換subject中所有與正則表達式regex匹配的子串
result = re.sub(regex, newstring, subject) 2.替換所有匹配的子串(使用正則表達式對象) reobj = re.compile(regex) result = reobj.sub(newstring, subject) 字元串拆分 1.字元串拆分 result = re.split(regex, subject) 2.字元串拆分(使用正則表示式對象) reobj = re.compile(regex) result = reobj.split(subject)

⑸ 在python正則中我應該怎麼匹配 '+']&&&&['-'] 這個字元呢

正則的話

a="3****['+']&&&&['-']"
b = re.search("'\+'\]&&&&\['\-'\]",a)
另外為什麼非要用正則,直接string find不是更容易么?

⑹ python 正則匹配 或者怎麼寫

python 正則表達式
http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html

⑺ 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 正則匹配^和$使用問題

^表示開始的意思。$表示結尾。match這個東西很奇怪。它是從開始做匹配的。 通常我會使用search而不是用match。 findall也是用search的機制。因為它是findall所以,就不可能用^作為字元串開頭。因為字元串只有一個開頭,但是有很多的」電話號碼「。同樣一個字元串也只有一個結尾 。你如果有結尾也不合適。

⑼ python正則表達式匹配或匹配後有空字元的問題。

看了你的追問,我就很納悶了,你既然只是要有取得正則匹配到的值,幹嘛不在for循環內里加一個容判斷啊

x=0
forimgurlinimglist:
ifimgurl:#判斷是否有值
urllib.urlretrieve(imgurl,"%s.jpg"%x)
#不知道你這個x幹嘛用的
x+=1

⑽ python 正則怎麼匹配a到b的內容,包括A和B

importre

defmy_search(text,a,b):
regexp=r'(%s.*%s)'%(a,b)
m=re.search(regexp,text)
ifm:
returnm.group(1)
return""

#my_search返回值即為匹配內容,如下:
my_search("123A1234567890B1234","A","B")