正則表達(dá)式初窺

搜索字符串

match從頭匹配 search匹配一次 findall查詢所有 【finditer 迭代器形式返回next()顯示第幾個(gè)】

方法

split支持字符串截取
sub 替換字符串
group()表示拿到分組后的結(jié)果

import re
str = zhaoyu
re.match(str,"zhaoyu")#顯示地址
re.match(str,"zhaoyu").group()#顯示字符串
group用法[想提取的數(shù)據(jù)可用括號(hào)括起來]
res = re.match("\d+(567)\d+","152567444")
res
<_sre.SRE_Match object; span=(0, 9), match='152567444'>
 res.group()
'152567444'
res.group(1)[第幾個(gè)括號(hào)Juin寫幾]
'567'

正則表達(dá)式 str = zhaoyu [match從頭匹配]
. 匹配任意符號(hào)(除了換行符\n)
re.match("....yu",str)
<_sre.SRE_Match object; span=(0, 6), match='zhaoyu'>

\d 表示數(shù)字

re.match ("\d","1111ddd")
<_sre.SRE_Match object; span=(0, 1), match='1'>

re.match ("\d\d\d","1111ddd")
<_sre.SRE_Match object; span=(0, 3), match='111'>

re.match("我今年\d\d歲了","我今年55歲了")
<_sre.SRE_Match object; span=(0, 7), match='我今年55歲了'>

re.match("我今年\d\d$","我今年55")
<_sre.SRE_Match object; span=(0, 5), match='我今年55'>

\D 表示非數(shù)字

re.match ("\D","@#$%^&")
<_sre.SRE_Match object; span=(0, 1), match='@'>

\w 表示匹配大小寫字母

re.match ("\w\w\w","aVw")
<_sre.SRE_Match object; span=(0, 3), match='aVw'>

re.match ("\w\w\w","aV過")【各國語言】
<_sre.SRE_Match object; span=(0, 3), match='aV過'>

\W 表示匹配所有的特殊字符

re.match ("\W\W\W","+-")
<_sre.SRE_Match object; span=(0, 3), match='+-
'>
re.match ("\W\W\W","+-A*")

\s 表示匹配空格 Tab \t

re.match ("\s\s\s"," ")
<_sre.SRE_Match object; span=(0, 3), match=' '>

re.match("\s","\n我今年55")
<_sre.SRE_Match object; span=(0, 1), match='\n'>

re.match("\s","\r我今年55")
<_sre.SRE_Match object; span=(0, 1), match='\r'>

\S 表示匹配非空格

re.match ("\S\S\S","LIU")
<_sre.SRE_Match object; span=(0, 3), match='LIU'>

^ 表示以xx開頭

re.match ("^a.*","abcde")
<_sre.SRE_Match object; span=(0, 5), match='abcde'>

re.match ("^a*","abcde")
<_sre.SRE_Match object; span=(0, 1), match='a'>

re.match ("^a.","abcde")
<_sre.SRE_Match object; span=(0, 2), match='ab'>

$ 以什么結(jié)尾

re.match (".sd$","abcdsd")
<_sre.SRE_Match object; span=(0, 6), match='abcdsd'>
【以a開頭以sd結(jié)尾】
re.match ("^a.
sd$","abcdsd")
<_sre.SRE_Match object; span=(0, 6), match='abcdsd'>

\b 匹配單詞

re.match(".\bgood\b.","get good day")
<_sre.SRE_Match object; span=(0, 12), match='get good day'

[01123456789] 【0-9】【a-z】只能用于數(shù)字字母[0-9a-zA-Z]
(開頭是這些中的一個(gè)就可以匹配成功)

 re.match ("[0\123456]\w*","0")
<_sre.SRE_Match object; span=(0, 1), match='0'>
>>> re.match ("[0\123456]\w*","5")
<_sre.SRE_Match object; span=(0, 1), match='5'>

re.match("[0-9a-zA-Z]","5aA10")
<_sre.SRE_Match object; span=(0, 1), match='5'>

\\表示
str = “c:\n\b”

* 匹配0-多
+匹配1-多
?匹配可以有,可以沒有,但只多1位
{m} 表示m位
{m,} 表示至少m位
{m,n}表示在這個(gè)區(qū)間內(nèi),最少5位,最多8位

寫在【】里表示取反
re.match("[^123asc]","123")

re.match("[^123asc]","vvv")
<_sre.SRE_Match object; span=(0, 1), match='v'>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • #首先,python中的正則表達(dá)式大致分為以下幾部分: 元字符 模式 函數(shù) re 內(nèi)置對象用法 分組用法 環(huán)視用法...
    mapuboy閱讀 1,721評論 0 51
  • Python中的正則表達(dá)式(re) import rere.match #從開始位置開始匹配,如果開頭沒有則無re...
    BigJeffWang閱讀 7,606評論 0 99
  • re模塊手冊 本模塊提供了和Perl里的正則表達(dá)式類似的功能,不關(guān)是正則表達(dá)式本身還是被搜索的字符串,都可以...
    喜歡吃栗子閱讀 4,206評論 0 13
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些閱讀 2,144評論 0 2
  • 你好,親愛的簡小書,許久不見,你還好嗎? 這接近一個(gè)月我過得怎么樣呢? 有很多的話想對你說,但是那些話因?yàn)閬聿患坝?..
    離人莫嘆閱讀 423評論 0 0

友情鏈接更多精彩內(nèi)容