1.python的re模組
python的re模組是自帶的,並不需要額外的安裝。對於正規表示式的匹配模式是匹配正規表示式物件(regex物件)。
1.1 建立正規表示式物件:
使用re.compile(匹配字串模式)
例如:
numberregex=re.compile(r』\d*』)
1.2 對於regex物件使用search方法
regex物件的search方法返回乙個match物件
mo=numberregex.search(待匹配的文字)
1.3 使用match物件的group()方法獲取匹配的文字
mo.group()
1.3.1 使用括號進行分組
(\d\d\d)-(\d\d\d-\d\d\d)
其中前乙個括號內的內容為group(1),後乙個括號內容為group(2),一次性獲取所有的分組,可以使用groups()方法。
1.4 使用管道匹配多個分組
re.compile(r』a|b』)
這裡的「|」被我們稱之為管道,表示或的意思
1.5 使用問號實現可選匹配
re.complie(r』bat(wo)?man』)
1.6 使用星號*匹配零次或多次
1.7 使用花括號{}匹配待定次數
1.8 使用regex物件的findall()方法返回字串的列表
numberregex.findall(『待匹配的文字』)
2.貪心匹配與非貪心匹配
2.1 python預設的貪心匹配
在表示存在二義的情況下,python會盡可能的匹配最長的字串。
2.2 使用「?」來實現非貪心匹配
3.字元分類:
3.1 常用的一些縮寫字元
\d 0~9任何數字
\d 除0~9數字以外的任何字元
\w 任何字母,數字或者下劃線字元
\w 除字母,數字或者下劃線以外的字元
\s 空格,製表符或者換行符
\s 除空格,製表符和換行符以外的字元
3.2 定義自己的字元分類「[ ]」
將會匹配方括號內的任意字元,注意,此時方括號內的普通的正規表示式不會被解釋,方括號裡面的內容直接匹配出來的話都是單個的字元。
[^」文字」]在左括號的後面加上^表示除文字之外
3.3 插入字元^與美元字元在表
達式的開
始加上表
示以待匹
配的正則
表示式內
容開頭在
表示式的
末尾加上
表示以待匹配的正規表示式內容結尾
一般用於檢測文字的開頭與結尾,返回的是true 或者 false
3.4 通配字元」.」
3.4.1 可以匹配除了換行符以外的任意字元
3.4.2 使用(.*)匹配所有的字元
3.4.3 使用句點符匹配換行符
通過傳入re.datall作為re.compile()的第二個引數,可以讓句點字元匹配換行
例如:
newlineregex = re.compile(『.*』,re.datall)
newlineregex.search(『serve the public trust .\nprotect the innocent.』).group()
『serve the public trust .\nprotect the innocent.』
3.5 不區分大小寫的匹配
向re.compile()傳入re.ignorecase或者re.i作為第二個引數
3.6 用sub()方法替換字串
替換方法有兩種
(1) regex.sub(「想要替換成的字串」,」需要被替換的字串」)
(2) re.sub(「正規表示式」,」想要替換成的字串」,」需要被替換的字串」)
4.複雜的正規表示式
4.1 匹配複雜的文字模式,可能需要很長的費解的正規表示式,可以告訴正規表示式忽略正規表示式字串中的空白符和注釋,需要向re.compile()傳入變數re.verbose作為第二個引數
例如:
phoneregex=re.compile(r」』(
(\d|(\d))? #area code
(\s[-].)? #separator
\d (\s|-|.)
\d (\s*(ext|x|ext.)\s*\d)?
) 5.常見的一些匹配:
匹配中文:u」#[\w\u2e80-\u9fff]+#」
Python 正規表示式筆記
python 正規表示式筆記 正規表示式的先行斷言 lookahead 和後行斷言 lookbehind 正規表示式的先行斷言和後行斷言一共有4種形式 pattern 零寬正向先行斷言 zero width positive lookahead assertion pattern 零寬負向先行斷言 ...
Python筆記 正規表示式
1 如果直接給出字元,就是精確匹配。用 d可以匹配乙個數字,w可以匹配乙個字母或數字,可以匹配任意字元 00 d 可以匹配 007 但無法匹配 00a d d d 可以匹配 010 w w d 可以匹配 py3 py.可以匹配 pyc pyo py 2 要匹配變長的字元,在正規表示式中,用 表示任意...
Python 正規表示式 筆記
re 庫的 match 物件 re 庫的貪婪匹配和最小匹配 re,regex,regular expression 用簡潔形式表示了一組字串的特徵或模式,通用的字串表達框架。用前需要編譯,正規表示式由字元和操作符組成。表示任何單個字元 字符集,對單個字元給出取值範圍 非字符集,對單個字元給出排除範圍...