1. 程式人生 > >python正則表示式 re (二)compile

python正則表示式 re (二)compile

re正則表示式模組還包括一些有用的操作正則表示式的函式。下面主要介紹compile函式。
定義:
compile(pattern[,flags] ) 根據包含正則表示式的字串建立模式物件。

通過python的help函式檢視compile含義:

help(re.compile)

compile(pattern, flags=0)
Compile a regular expression pattern, returning a pattern object.

通過help可以看到compile方法的介紹,返回一個pattern物件,但是卻沒有對第二個引數flags

進行介紹。第二個引數flags是匹配模式,可以使用按位或’|’表示同時生效,也可以在正則表示式字串中指定。Pattern物件是不能直接例項化的,只能通過compile方法得到。匹配模式有:
1).re.I(re.IGNORECASE): 忽略大小寫
2).re.M(MULTILINE): 多行模式,改變’^’和’$’的行為
3).re.S(DOTALL): 點任意匹配模式,改變’.’的行為
4).re.L(LOCALE): 使預定字元類 \w \W \b \B \s \S 取決於當前區域設定
5).re.U(UNICODE): 使預定字元類 \w \W \b \B \s \S \d \D 取決於unicode定義的字元屬性
6)
.re.X(VERBOSE): 詳細模式。這個模式下正則表示式可以是多行,忽略空白字元,並可以加入註釋

例如:
pattern1 = re.compile(r”“”\d + #整數部分
. #小數點
\d * #小數部分”“”, re.X)
這裡正則表示式為三個”號引起來的多行字串,則將匹配模式設定為re.X 可以多行匹配。

函式re.compile將正則表示式(以字串書寫的)轉換為模式物件,可以實現更加有效的匹配。例子:
import re
text = "JGood is a handsome boy, he is cool, clever, and so on..."
re.findall(r'\w*oo\w*', text)    #查詢所有包含'oo'的單詞

使用compile函式:
匯入re模組:
import re
text = “JGood is a handsome boy, he is cool, clever, and so on…”
regex = re.compile(r’\w*oo\w*’)
print regex.findall(text) #查詢所有包含’oo’的單詞

相關推薦

python表示式 re compile

re正則表示式模組還包括一些有用的操作正則表示式的函式。下面主要介紹compile函式。 定義: compile(pattern[,flags] ) 根據包含正則表示式的字串

python表示式 re sub

背景: re.sub是re模組重要的組成部分,並且功能也非常強大,主要功能實現正則的替換。 re.sub定義: sub(pattern, repl, string, count=0, flags=0) Return the strin

python表示式 re split

re.split 可以使用re.split來分割字串,如:re.split(r’\s+’, text);將字串按空格分割成一個單詞列表。 原型: re.split(pattern, string, maxsplit=0) 通過正則表示式將字串分離。如果用

Python表示式初識

前幾天給大家分享了Python正則表示式初識(一),介紹了正則表示式中的三個特殊字元“^”、“.”和“*”,感興趣的夥伴可以戳進去看看,今天小編繼續給大家分享Python正則表示式相關特殊字元知識點。 1、特殊字元“$”代表的意思是結尾字元。舉個栗子,正則表示式“3$

python html抓取,並用re表示式解析

需求: url: “http://search.jd.com/Search?keyword=幼貓貓糧&enc=utf-8#filter” 給出一個jd_search(keyword)方法,keyword為你要查詢的東西,比如:貓糧、手機,替換上面url中的keyword,得到一個新網

Python表示式學習1——re.sub()基礎

re.sub(pattern,repl,string,count = 0,flags = 0) re.sub用於替換字串中的匹配項 個人理解:返回將string中的pattern部分替換為repl的

Python表達式

發生 sub pre 則表達式 正則表達式 str1 blog 回發 clas sub()和subn() sub(pattern,repl,string,count=0) 用於實現搜索和替換功能, 使用repl替換所有正則表達式的模式在字符串中出現的位置,除非定義co

Python表示式初識

繼續分享Python正則表示式的基礎知識,今天給大家分享的特殊字元是[\u4E00-\u9FA5],這個特殊字元最好能夠記下來,如果記不得的話通過百度也是可以一下子查到的。 該特殊字元是固定的寫法,其代表的意思是漢字。換句話說,只要字元中是漢字,就可以通過該字元進行匹配,該特殊字元也是用中括號括起來的。

Python表示式初識

首先跟大家簡單嘮叨兩句為什麼要學習正則表示式,為什麼在網路爬蟲的時候離不開正則表示式。正則表示式在處理字串的時候扮演著非常重要的角色,在網路爬蟲的時候也十分常用,大家可以把它學的簡單一些,但是不能不學。 儘管網路爬蟲相關庫給我們提供了豐富的庫如css、bs4、l

Python表示式初識

今天繼續給大家分享Python正則表示式基礎知識,主要給大家介紹一下特殊字元“{}”的用法,具體的教程如下。 特殊字元“{}”實質上也是一個限定詞的用法,其限定前面字元所出現的次數,其常用的模式有三種,分別是“{數字}”、“{數字,}”和“{數字1, 數字2}”

Python表示式初識

繼續分享Python正則表示式的基礎知識,今天給大家分享的特殊字元是“\w”和“\W”,具體的教程如下。 1、“\w”代表的意思是該字元為任意字元,但是和特殊字元“.”的意思不同。“\w”代表的字元主要包括26個大寫字母A到Z,即[A-Z]、26個小寫字母a到z

Python 表示式學習4:查詢以“one”結尾,前面包含0個或多個英文字母不能是數字或其它字元的字串。

需求是:查詢以“one”結尾,包含0個或多個英文字母(不能是數字或其它字元)的字串。 import re str='bacdone1cdonone345dhdfgkone' p=re.compile(r'[a-zA-Z]*one') #只搜尋一次 m=re.match

python html抓取,並用re表示式解析

html抓取,並用re進行解析 #coding=utf-8 import urllib.request import re ''' url :"http://money.163.com/special/pinglun/" 抓取第一頁的新聞資訊,並按照以下規格輸出。 [ {'ti

python爬蟲5——表達式

org handle uil urlopen 意思 esp 下載 header 因此     前一篇文章,我們使用re模塊來匹配了一個長的字符串其中的部分內容。下面我們接著來作匹配“[email protected] advantage 314159265358 18

RE表示式總結

一、概念         正則表示式,又稱規則表示式。(英語:Regular Expression,在程式碼中常簡寫為regex、regexp或RE),電腦科學的一個概念。正則表示式是對字元串(包括普通字元(例如,a 到 z 之間的字母)和特殊字元(稱為“

轉載 Python 表示式入門中級篇

Python 正則表示式入門(中級篇) 初級篇連結:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我們說在這一篇裡,我們會介紹子表示式,向前向後查詢,回溯引用。到這一篇開始前除了回溯引用在一些場合不可替代以外,大部分情況下的正則表示式你應該都會寫了

sed經典案例

sed正則sed正則經典案例(二) ###修改登記信息格式已知文本內容如下:[[email protected]/* */ oldboy]# cat 2.txt 張三--1995/04/12--186-1233-4324--5004132131231231231 李四--1993/05/20

Python表達式

成功 fin 全部 dal 出現 元組 叠代器 所有 函數 match(pattern,string,flag=0) 匹配成功就返回匹配對象,匹配失敗就返回None。 search(pattern,string,flag=0) 在字符串中搜索第一次出現的正則表達式

深入淺出之表達式

規則 方法 else 解決辦法。 test 開啟 spa 多次 前言 前言: 本文是前一片文章《深入淺出之正則表達式(一)》的續篇,在本文中講述了正則表達式中的組與向後引用,先前向後查看,條件測試,單詞邊界,選擇符等表達式及例子,並分析了正則引擎在執行匹配時的內

[ Python ] 表達式1

solid lnp 額外 spl 字符 正則 -s bject 正則表達 [ Python ] 正則表達式(1) 概念區分:搜索 ( Search ) 和 匹配 ( Match ) from re import search, match search("nana"