国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python正則表達式及使用正則表達式的例子

2020-02-22 22:56:06
字體:
來源:轉載
供稿:網友

正則表達式

正則表達用來匹配字符串

正則表達式匹配過程

    依次拿出表達式和文本中的字符串進行比價 如果每個字符都能匹配,則匹配成功;一旦有匹配不成功的字符,則匹配失敗 如果有量詞和邊界,則匹配過程稍微有些不同

正則表達式語法規則

語法

說明

表達式實例

匹配字符串

字符

. 匹配除換行"/n"外的任意字符串 abc abc
/ 轉義字符,使后一個字符改變原來的意思 a//c a/c
[...] 字符集,對應的位置可以是字符集中任意字符,字符集中的字符可以逐個列出,也可以給出范圍,如[abc]或[a-c]。第一個字符如果是^則表示取反,如[^abc]表示不是abc中的其他字符。所有的特殊的字符在字符集中都失去其原有的特殊含義。在字符集中使用^、]或-,可以使用轉義字符匹配它們 a[bcd]e

abe

ace

ade

預定義字符集

/d 數字:[0-9] a/dc a1c
/D 非數字:[^0-9] a/Dc abc
/s 空白字符:[<空格>/t/r/n/f/v] a/sc a c
/S 非空白字符:[^/s] a/Sc abc
/w 單詞字符:[a-zA-z0-9_] a/wc abc
/W 非單詞字符:[^/w] a/Wc a c

數量詞

* 匹配一個字符串0或無限次 abc*

ab

abc

abccc

+ 匹配一個字符串1次或無限次 abc+

abc

abccc

? 匹配一個字符串0次或1次

abc?

ab

abc

{m} 匹配一個字符串m次 abc{2} abcc
{m,n} 匹配一個字符串m到n次 abc{2,3}

abcc

abccc

邊界匹配

^ 匹配字符串開頭 ^abc abc
$ 匹配字符串末尾 abc$ abc
/A 匹配字符串開始 /Aabc abc
/Z 匹配字符串結束,如果是存在換行,只匹配到換行前的結束字符串 abc/Z abc
/b 匹配一個單詞邊界,也就是指單詞和空格間的位置。例如, 'er/b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。
/B 匹配非單詞邊界。'er/B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。

邏輯分組

| 匹配|表達式左右的任意一個 abc|def

abc

def

(...) 作為分組,每遇到一個(,分組編號加1,使用分組的好處是匹配的子串會保存到一個子組,便于以后使用 (abc){2} abcabc
(?P<name>...) 分組除原有編號外,再加一個別名 (?P<id>abc){2} abcabc
/<number> 引用編號為number的分組匹配到的字符串 (/d)ab/1

1ab1

5ab5

(?P=name) 應用別名為name的分組匹配到的字符串 (?P<id>abc)ee(?P=name) abceeabc

特殊構造(不分組)

(?:...) (...)的不分組版本,用于|或后接數量詞 (?:abc){2} abcabc
(?iLmsux) iLmsux中的每個字符代表正則表達式的一種匹配模式,只能用在正則表達式開頭,可選多個 (?i)abc AbC
(?#...) 將#后面的字符當做注釋忽略 abc(?#comment)def abcdef
(?=...) 之后的字符串表達式需要匹配才能成功,不消耗字符串內容 a(?=/d) 后面是數字的a
(?!...) 之后的字符串表達式需要不匹配才能成功,不消耗字符串內容 a(?!/d) 后面不是數字的a
(?<=...) 之前的字符串表達式需要匹配才能成功,不消耗字符串內容 (?<=/d)a

前面是數字的a

(?<!...) 之前的字符串表達式需要不匹配才能成功,不消耗字符串內容 (?<!/d)a 前面不是數字的a

(?(id/name)yes_

pattern|no_parttern)

如果匹配到分組為id或別名name的字符串成功匹配,則需要匹配yes_pattern

不成功,怎需要匹配no_pattern

(/d)abc(?(1)/d|def)

1abc3

abcdef

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌拉特中旗| 集安市| 寿阳县| 阜康市| 土默特右旗| 尼玛县| 谢通门县| 宜宾市| 金堂县| 额济纳旗| 独山县| 蚌埠市| 南雄市| 广元市| 九龙县| 丽水市| 石景山区| 明星| 葫芦岛市| 永川市| 阿城市| 萨迦县| 中西区| 阿巴嘎旗| 东至县| 开平市| 利辛县| 南陵县| 宁城县| 深圳市| 洮南市| 北碚区| 克山县| 札达县| 巨野县| 云浮市| 永清县| 崇阳县| 胶南市| 安达市| 龙南县|