1. 程式人生 > 實用技巧 >python利用正則表示式提取文字中特定內容

python利用正則表示式提取文字中特定內容

正則表示式是一個特殊的字元序列,它能幫助你方便的檢查一個字串是否與某種模式匹配。
Python 自1.5版本起增加了re 模組,它提供 Perl 風格的正則表示式模式。
re 模組使 Python 語言擁有全部的正則表示式功能。
compile 函式根據一個模式字串和可選的標誌引數生成一個正則表示式物件。該物件擁有一系列方法用於正則表示式匹配和替換。
re 模組也提供了與這些方法功能完全一致的函式,這些函式使用一個模式字串做為它們的第一個引數。

如何利用正則表示式提取文中特定內容呢?

函式介紹:

1.re.compile():該函式用於生成一個正則表示式,也就是匹配的核心部分,用來定義你需要怎麼匹配,匹配什麼內容,更多細節可以去參看菜鳥教程。
2.re.findall()

:該函式用於在指定的字串中進行匹配。

提取特定內容:

1.在一段文字或字串中提取從某一位置XXX開始某一位置X結束的特定內容:re.compile('XXX.+X'),示例:

import re
str='abcd1234efg'
pattern=re.compile('ab.+ef')   #匹配從ab開始,到ef結束的內容
result=pattern.findall(str)
print(result)

執行結果如下

['abcd1234ef']

2.在一段文字或字串中提取從某一位置XXX之後某一位置X之前的特定內容:re.compile('XXX(.+)X')

import re
str='abcd1234efg'
pattern=re.compile('ab(.+)ef')   #匹配ab與ef之間的內容
result=pattern.findall(str)
print(result)

執行結果如下

['cd1234']

所以從這兩個匹配可以看出,兩者的主要區別就在於有無(),很實用的一種方法~~