模塊的的作用主要是用于字符串和文本處理,查找,搜索,替換等
復(fù)習一下基本的正則表達式吧
?.:匹配除了換行符以為的任意單個字符
?*:匹配任意字符,一個,零個,多個都能匹配得到 俗稱貪婪模式
+:匹配位于+之前的一個或者多個字符
?|:匹配位于|之前或者之后的字符
?^:匹配行首
?$:匹配行尾
??:匹配位于?之前的零個或者一個字符,不匹配多個字符
?\:表示 \ 之后的為轉(zhuǎn)義字符
?[]:匹配[]之中的任意單個字符,[0-9]表示匹配0到9任意一個數(shù)字
?():將位于()之內(nèi)的的內(nèi)容當作一個整體
?{}:按{}中的次數(shù)進行匹配,100[0-9]{3}表示在100之后任意匹配一個3位數(shù)(100-999)
python中以\開頭的元字符:
特殊序列符號
|
意義 |
\A
|
只在字符串開始進行匹配 |
\Z
|
只在字符串結(jié)尾進行匹配 |
\b
|
匹配位于開始或結(jié)尾的空字符串 |
\B
|
匹配不位于開始或結(jié)尾的空字符串 |
\d
|
相當于[0-9] |
\D
|
相當于[^0-9] |
\s
|
匹配任意空白字符:[\t\n\r\r\v] |
\S
|
匹配任意非空白字符: [^\t\n\r\r\v ] |
\w
|
匹配任意數(shù)字和字母:[a-zA-Z0-9] |
\W
|
匹配任意非數(shù)字和字母:[^a-zA-Z0-9] |
正則表達式語法表
語法 | 意義 | 說明 |
"." | 任意字符 |
|
"^" | 字符串開始 | '^hello'匹配'helloworld '而不匹配'aaaahellobbb ' |
"$" | 字符串結(jié)尾 | 與上同理 |
"*"?
|
0 個或多個字符
(貪婪匹配)
|
<*>匹配 |
"+"
|
1 個或多個字符
(貪婪匹配
)
|
與上同理
|
"?"
|
0 個或多個字符
(貪婪匹配
)
|
與上同理
|
*?,+?,??
|
以上三個取第一個匹配結(jié)果(非貪婪匹配 ) |
<*>匹配
|
{m,n}
|
對于前一個字符重復(fù)m到n次,{m}亦可
|
a{6}匹配6個a、a{2,4 }匹配2到4個a |
{m,n}?
|
對于前一個字符重復(fù)m到n次,并取盡可能少
|
‘a(chǎn)aaaaa '中a{2,4}只會匹配2個 |
"\\"
|
特殊字符轉(zhuǎn)義或者特殊序列 |
|
[]
|
表示一個字符集 | [0-9]、[a-z ]、[A-Z ]、[^0] |
"|"
|
或 | A|B,或運算 |
(...)
|
匹配括號中任意表達式 |
|
(?#...)
|
注釋,可忽略 |
|
(?=...)
|
Matches if ... matches next, but doesn't consume the string.
|
'(?=test)' ? 在hellotest中匹配hello |
(?!...)
|
Matches if ... doesn't match next.
|
'(?!=test)'
?
?
若hello后面不為test,匹配hello
|
(?<=...)?
|
Matches if preceded by ... (must be fixed length).
|
'(?<=hello
)test' ?
在hellotest中匹配test
|
(? 8126). Changing some columns to TEXT or BLOB aigo column |
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
