1. 程式人生 > >python學習 re正則表示式

python學習 re正則表示式

一、正則的常用符號:

.     匹配任一字元,換行符\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
您的支援是對博主最大的鼓勵,感謝您的認真閱讀。
本文無所謂版權,歡迎轉載。