如何理解Python中的正則表達式(4)

今天馬哥教育要跟大家分享的文章是如何理解Python中的正則表達式(4)?在Python正則表達這里,我們已經聊了正則表達式的含義、正則表達式中的一些特殊符號、使用正則表達式提取電話等內容, Python入門新手和正在Python學習的小伙伴快來看一看這節課我們要學習的內容吧,希望能夠對大家有所幫助 !

本節課我們繼續帶領大家認識更多的元字符,并且告訴大家正則表達式除了可以抓取字符還可以干什么。

1.常用的元字符

我們已經了解了正則表達式中的一些特殊符號,如\b、\d、.、\S等等。這些具有特殊意義的專用字符被稱作“元字符”。常用的元字符還有:

\w – 匹配字母或數字或下劃線或漢字(我試驗下了,發現3.x版本可以匹配漢字,但2.x版本不可以)

\s – 匹配任意的空白符

^ – 匹配字符串的開始

$ – 匹配字符串的結束

2.\S其實就是\s的反義,任意不是空白符的字符。

同理,還有:

\W – 匹配任意不是字母,數字,下劃線,漢字的字符

\D – 匹配任意非數字的字符

\B – 匹配不是單詞開頭或結束的位置

[a]的反義是[^a],表示除a以外的任意字符。[^abcd]就是除abcd以外的任意字符。

3.用來表示字符重復的方式

之前我們用過*、+、{}來表示字符的重復。其他重復的方式還有:

? – 重復零次或一次

{n,} – 重復n次或更多次

{n,m} – 重復n到m次

正則表達式不只是用來從一大段文字中抓取信息,很多時候也被用來判斷輸入的文本是否符合規范,或進行分類。來點例子看看:

^\w{4,12}$

這個表示一段4到12位的字符,包括字母或數字或下劃線或漢字,可以用來作為用戶注冊時檢測用戶名的規則。(但漢字在Python2.x里面可能會有問題)

\d{15,18}

表示15到18位的數字,可以用來檢測身份證號碼

^1\d*[x]?

以1開頭的一串數字,數字結尾有字母x,也可以沒有。有的話就帶上x。

另外再說一下之前提到的轉義字符\。如果我們確實要匹配.或者*字符本身,而不是要它們所代表的元字符,那就需要用\.或\*。\本身也需要用\\。

比如”\d+\.\d+”可以匹配出123.456這樣的結果。

留一道稍稍有難度的習題:

寫一個正則表達式,能匹配出多種格式的電話號碼,包括:

(021)88776543

010-55667890

02584453362

0571 66345673

恭喜您在Python的道路上又堅持了一天,今天我們學習的這些常用的元字符你都記住了嗎?

以上就是馬哥教育今天為大家分享的關于如何理解Python中的正則表達式(4)的文章,希望本篇文章能夠對正在 Python學習 和從事Python相關工作的小伙伴們有所幫助,想要了解更多相關知識記得關注馬哥教育官網。最后祝愿小伙伴們工作順利!

相關新聞

聯系我們

400-080-6560

在線咨詢:點擊這里給我發消息

郵件:[email protected]

工作時間:周一至周日,09:00-18:30

QR code
曼天雨服装店赚钱吗 浙江11选5走势图表 _百家乐玩法 一波中特不夸张 山西扣点点麻将官方下载 上海福彩时时彩走势图连线 刮刮乐有中大奖的吗图片 吉林11选5qq群 网络兼职赚钱项目 北京11选五投注技巧 吉林长春麻将吉祥棋牌