91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【學習筆記】Python正則表達式

發布時間:2020-07-22 06:49:36 來源:網絡 閱讀:538 作者:wx57a1620925627 欄目:移動開發

一、準備知識
\d:匹配一個數字
\w:匹配一個字母
. :匹配任意字符
\s :匹配一個空格

?表示0個或1個字符
+表示至少一個字符
*表示任意個字符(包括0個)
{n}表示n個字符,{n,m}表示n-m個字符

[0-9a-zA-Z_]可以匹配一個數字、字母或者下劃線
(P|p)ython可以匹配'Python'或者'python'
^py$只能匹配'py'了

二、在Python中使用
(1)匹配

import re
re.match(r'^\d{3}-\d{3,8}$', '010-12345')
<_sre.SRE_Match object at 0x1026e18b8>
re.match(r'^\d{3}-\d{3,8}$', '010 12345')

match()方法判斷是否匹配,如果匹配成功,返回一個Match對象,否則返回None

(2)切分字符串

import re
re.split(r'[\s\,\;]+', 'a,b;; c d')
['a', 'b', 'c', 'd']

(3)提取子串

import re
m = re.match(r'^(\d{3})-(\d{3,8})$', '010-12345')
m.group(0)
'010-12345'
m.groups()
('010', '12345')
m.group(1)
'010'
m.group(2)
'12345'
用()表示的就是要提取的分組(Group),group(0)永遠是原始字符串,group(1)、group(2)……表示第1、2、……個子串

(4)貪婪匹配
正則匹配默認是貪婪匹配,也就是匹配盡可能多的字符。舉例如下,匹配出數字后面的0:

re.match(r'^(\d+)(0)$', '102300').groups()
('102300', '')
由于\d+采用貪婪匹配,直接把后面的0全部匹配了,結果0
只能匹配空字符串了。

必須讓\d+采用非貪婪匹配(也就是盡可能少匹配),才能把后面的0匹配出來,加個?就可以讓\d+采用非貪婪匹配:

re.match(r'^(\d+?)(0*)$', '102300').groups()
('1023', '00')

(5)編譯
先編譯-后匹配,提高效率

import re

編譯:

re_telephone = re.compile(r'^(\d{3})-(\d{3,8})$')

使用:

re_telephone.match('010-12345').groups()
('010', '12345')
re_telephone.match('010-8086').groups()
('010', '8086')

三、實例
#郵箱匹配
import re

reemail = re.compile(r'^[0-9a-zA-Z][0-9a-zA-Z\.]+\@[0-9a-z]+.(com|cn|org|net)$')

m = re_email.match(email)

if m:
print "OK."
else:
print "You have input a wrong e-mail."

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

深州市| 秀山| 黄浦区| 阿拉尔市| 海淀区| 轮台县| 郎溪县| 甘孜县| 云阳县| 松潘县| 信丰县| 许昌县| 岱山县| 嘉义县| 汉川市| 双江| 饶平县| 博野县| 红安县| 皮山县| 连城县| 巫山县| 曲麻莱县| 图们市| 昌吉市| 安康市| 洛浦县| 祥云县| 绥德县| 陆川县| 福泉市| 蒲江县| 绍兴市| 尚志市| 鹤庆县| 浏阳市| 四子王旗| 桓仁| 梓潼县| 杨浦区| 张家界市|