python學習 re正則表示式
阿新 • • 發佈:2018-11-16
一、正則的常用符號:
. 匹配任一字元,換行符\n除外
* 匹配前一個字元0次或無限次
? 匹配前一個字元0次或1次
.* 貪心演算法(儘可能多的匹配)
.*? 非貪心演算法(儘可能少的匹配)
() 括號內的資料作為結果返回
二、正則表示式:
\w | 匹配字母數字及下劃線 |
\W | 匹配非字母數字及下劃線 |
\s | 匹配任意空白字元,等價於 [\t\n\r\f]. |
\S | 匹配任意非空字元 |
\d | 匹配任意數字,等價於 [0-9]. |
\D | 匹配任意非數字 |
\A | 匹配字串開始 |
\Z | 匹配字串結束,如果是存在換行,只匹配到換行前的結束字串。 |
\z | 匹配字串結束 |
\G | 匹配最後匹配完成的位置。 |
\b | 匹配一個單詞邊界,也就是指單詞和空格間的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。 |
\B | 匹配非單詞邊界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。 |
\n, \t, 等. | 匹配一個換行符。匹配一個製表符。等 |
\1...\9 | 匹配第n個分組的內容。 |
\10 | 匹配第n個分組的內容,如果它經匹配。否則指的是八進位制字元碼的表示式。 |
三、函式的用法
1、檢索和替換
Python 的 re 模組提供了re.sub用於替換字串中的匹配項。
re.sub(pattern, repl, string, count=0, flags=0)
- pattern : 正則中的模式字串。
- repl : 替換的字串,也可為一個函式。
- string : 要被查詢替換的原始字串。
- count : 模式匹配後替換的最大次數,預設 0 表示替換所有的匹配。
如下替換如下url中的第一個數字2為3:
#coding=utf-8
import re
url = "http://search.chinahr.com/sh/job/pn2/?key=%E9%87%91%E8%9E%8D"
#newurl = re.sub('[0-9]','3',url,count=1)
newurl = re.sub('\d+','3',url,count=1)
print newurl
#result:
# http://search.chinahr.com/sh/job/pn3/?key=%E9%87%91%E8%9E%8D
作者:frank_zyp
您的支援是對博主最大的鼓勵,感謝您的認真閱讀。
本文無所謂版權,歡迎轉載。