
【正則工具regexbuddy基本介紹】
RegexBuddy是一款非常好用的正則表達(dá)式編輯工具。本軟件能幫助你編寫(xiě)需要的正則表達(dá)式,它還可以在你的源代碼中根據(jù) 你所使用的語(yǔ)言自動(dòng)生成相應(yīng)的正則表達(dá)式。還支持可視化的調(diào)試,帶來(lái)軟件測(cè)試方面的便利;支持正則式轉(zhuǎn)換為多種語(yǔ)言的字串,還并提供了代碼輸出功能。
【正則工具regexbuddy官方介紹】
RegexBuddy使用正則表達(dá)式是你完美的伴侶。輕松地創(chuàng)建正則表達(dá)式匹配你想要什么。清楚地理解復(fù)雜的正則表達(dá)式他人所寫(xiě)??焖贉y(cè)試任何正則表達(dá)式示例字符串和文件,防止對(duì)實(shí)際數(shù)據(jù)的錯(cuò)誤。調(diào)試而猜測(cè)由逐句通過(guò)實(shí)際的匹配過(guò)程。使用正則表達(dá)式與源的代碼片段會(huì)自動(dòng)調(diào)整您的編程語(yǔ)言的細(xì)節(jié)。收集和文檔庫(kù)的供將來(lái)重復(fù)使用正則表達(dá)式。GREP(搜索和替換) 通過(guò)文件和文件夾。集成RegexBuddy 與您最喜愛(ài)的搜索和編輯工具的即時(shí)訪(fǎng)問(wèn)。
【功能介紹】
根據(jù)正則表達(dá)式語(yǔ)法,彩色顯示表達(dá)式,使表達(dá)式便于閱讀。同步將正則表達(dá)式的組成顯示在 "樹(shù)結(jié)構(gòu)" 和 "分組列表" 中,使正則表達(dá)式結(jié)構(gòu)一目了然。
詳細(xì)記錄每一個(gè)匹配結(jié)果,包含分組結(jié)果以及所花費(fèi)的時(shí)間。
可進(jìn)行 "忽略大小寫(xiě)","單行模式","多行模式","全局模式","從左向右","擴(kuò)展模式" 等模式下的正則表達(dá)式測(cè)試。
可單獨(dú)測(cè)試表達(dá)式中的一部分,有利于分段調(diào)試復(fù)雜的正則表達(dá)式。
您可以設(shè)置一個(gè)匹配起始點(diǎn),方便排查表達(dá)式錯(cuò)誤。
支持高級(jí)正則語(yǔ)法,例如遞歸匹配等。
可以保存文本片段,例如表達(dá)式或者其他文本,也可以跟任意其他編輯器之前相互拖動(dòng)。
可以保存當(dāng)前表達(dá)式為一個(gè)‘快照’,使您可以放心改寫(xiě)表達(dá)式。

【正則工具regexbuddy特色介紹】
1、自動(dòng)生成正則表達(dá)式2、編輯并測(cè)試正則表達(dá)式
3、多向?qū)ы?yè),可在多個(gè)源文本上測(cè)試同一個(gè)正則表達(dá)式(標(biāo)準(zhǔn)版無(wú)此功能)
4、多頁(yè)參考生成正則表達(dá)式(標(biāo)準(zhǔn)版無(wú)此功能)
5、自動(dòng)檢查和修改生成的正則表達(dá)式的正確性
6、以可視方式呈現(xiàn)測(cè)試結(jié)果

【正則工具regexbuddy安裝步驟】
1、下載并解壓軟件后,找到“SetupRegexBuddyDemo.exe”雙擊運(yùn)行;2、軟件進(jìn)入到安裝向?qū)Ы缑婧?,默認(rèn)有五組選項(xiàng);
1)No-Questions-Asked installation 沒(méi)有問(wèn)題,立即安裝
2)More information 查看更多信息
3)Select Components and lnstall 選擇安裝組件
4)Advanced Options Installation 高級(jí)安裝選項(xiàng)
5)Donot Install 退出不安裝
這里我們只需要選擇第一項(xiàng)即可;

3、閱讀軟件使用協(xié)議后,點(diǎn)擊“Yes,I do”;

4、等待軟件安裝完成即可;

【正則工具regexbuddy使用技巧】
如何使用regexbuddy切換布局?點(diǎn)擊右上角的彩色格子圖標(biāo),選擇 Side by Side Layout:

這種布局的好處是,Create 面板與 Test 面板同時(shí)被展示,方便比對(duì):

regexbuddy破解版界面說(shuō)明

regexbuddy破解版選擇編程語(yǔ)言
左上角的下拉框可以指定需要的編程語(yǔ)言:

解析(Create 面板)
這里用樹(shù)狀模型來(lái)展示對(duì)這個(gè)正則表達(dá)式的解析過(guò)程,其中的每一個(gè)節(jié)點(diǎn)對(duì)應(yīng)著表達(dá)式中的一個(gè)元素塊。每當(dāng)點(diǎn)擊其中的一個(gè)節(jié)點(diǎn),就會(huì)在對(duì)應(yīng)的正則表達(dá)式的部分著重顯示。

這個(gè)功能在分析某些復(fù)雜的正則表達(dá)式時(shí)很有用哦O(∩_∩)O哈哈~
測(cè)試(Test 面板)
1 指定測(cè)試范圍

在 Test 面板的第一個(gè)下拉框可以選擇測(cè)試的范圍:

如果需要測(cè)試的內(nèi)容超過(guò)一行,那么請(qǐng)選擇 Whole File 或 Page by page 模式。
2 高亮顯示
如果當(dāng)前的正則表達(dá)式為 (.*),那么在 Test 面板中就會(huì)高亮顯示匹配的內(nèi)容(如果匹配的內(nèi)容在相鄰的行,則使用不同的顏色高亮顯示):

3 捕獲組
如果使用了捕獲組,那么可以在 Hightlight 的下拉項(xiàng)中選定這些組,然后就會(huì)被加陰影顯示出來(lái)啦:

4 匹配細(xì)節(jié)
可以在 “l(fā)ist All” 中指定匹配細(xì)節(jié)的顯示方式:

上圖中的顯示方式是 List All Matches with Full Details。我們還可以點(diǎn)擊 + 號(hào)查看捕獲的組信息:
regexbuddy調(diào)試(debug 面板)
在 Test 面板選定一行測(cè)試文本,然后選擇 Debug 下拉中的 Debug Here,就可以看到這一行測(cè)試文本的正則匹配過(guò)程啦:

Debug 有三種模式:

8 模板(Library 面板)
RegexBuddy 內(nèi)置了很多正則表達(dá)式的模板(Library 面板):
可以通過(guò)關(guān)鍵字搜索,看看是否有我們需要的模板:
比如,我們現(xiàn)在需要一個(gè)判斷密碼是否具有足夠復(fù)雜度的正則表達(dá)式,那么就可以在搜索框中輸入 password,然后點(diǎn)擊下面所列出的某個(gè)模板,再選擇上面的 Use 圖標(biāo),選中 Use Regex and Test Subject,就可以看到這個(gè)模板的正則表達(dá)式以及測(cè)試用例啦O(∩_∩)O哈哈~
9 使用(Use 面板)
在 Use 面板中,我們可以找到使用之前定義好的正則表達(dá)式的使用模板:
模板所用的語(yǔ)言與左上角所選定的語(yǔ)言是一致的。
每種語(yǔ)言還有各種代碼模板(在 Function 中):
10 搜索內(nèi)容(GREP 面板)
在 GREP 面板,可以直接使用我們定義好的正則表達(dá)式來(lái)搜索文件夾中的內(nèi)容。
在 Folder 中選擇文件夾路徑(即搜索范圍),記得勾選 Recurse subfolders,表示遞歸搜索,最后點(diǎn)擊面板左上的 GREP 按鈕,在彈出的下拉菜單中選擇 preview 或者 Execute(比較慢),執(zhí)行搜索操作:
也可以選擇 Quick Execute(速度較快)只列出匹配到的文件清單
【正則工具regexbuddy使用教程】
到本站進(jìn)行最新版本的下載。下載后直接安裝,打開(kāi)界面如下圖所示:

界面主要包括:正則表達(dá)式、測(cè)試文本、輸出結(jié)果、歷史記錄、Create相關(guān)面板,如下圖所示:

<打開(kāi)RegexBuddy后默認(rèn)載入的是上一次你所測(cè)試的正則信息,選項(xiàng)配置信息都會(huì)自動(dòng)載入上次你所設(shè)置的內(nèi)容。歷史記錄中顯示的是你所測(cè)試過(guò)得正則信息。1、測(cè)試正則表達(dá)式。、在正則表達(dá)式輸入需要測(cè)試的正則,如:??梢酝ㄟ^(guò)上面的面板選擇語(yǔ)言,默認(rèn)是JGosft,可以指定JAVA,Python等。<br b、測(cè)試文本面板(Test標(biāo)簽)輸入需要測(cè)試的文本內(nèi)容,如:??梢赃x擇Line By Line、Whole File、Page By Page,來(lái)指定是每行抽取,還是對(duì)整個(gè)文檔抓取等(如果你的正則匹配信息有包含多行內(nèi)容,務(wù)必要選中Whole File或者Page By Page)。測(cè)試文本面板會(huì)根據(jù)正則表達(dá)式和測(cè)試內(nèi)容,實(shí)時(shí)顯示匹配到的高亮預(yù)覽信息。如:上圖中的,全部高亮,如果你選中了HighLight下得HighLight Group1選項(xiàng),還會(huì)實(shí)時(shí)顯示抽取出來(lái)的內(nèi)容:www.lifeba.org。上面2個(gè)部分用不同的顏色模塊顯示區(qū)分。當(dāng)然你也可以不選擇預(yù)覽。c、輸出結(jié)果面板,顯示的顯示了正則表達(dá)式的匹配結(jié)果。你可以通過(guò)List All切換顯示的效果,如下圖所示:

比如,可以選中List ALL Group Matches in columns顯示的效果,就是上面圖中的輸出結(jié)果面板效果。如果,你選中了Update Automatically,則修改正則或文本內(nèi)容時(shí)候,輸出結(jié)果面板會(huì)實(shí)時(shí)跟著變化。點(diǎn)擊 Debug按鈕,會(huì)自動(dòng)跳到Debug面板,顯示出正則表達(dá)式匹配的規(guī)則。通過(guò)該結(jié)果,你可以很直觀(guān)的分析出正則匹配的過(guò)程,如下圖所示:


使用Libray庫(kù)文件。測(cè)試好了正則表達(dá)式后,你可以把他添加到自定義庫(kù)里,并保存本地硬盤(pán)。這樣下次你可以直接調(diào)用出來(lái)修改。通過(guò)Libray按鈕,你可以切換到該面板。你首先要把選中Read Only去掉,才編輯該庫(kù)文件,如下圖所示:

點(diǎn)擊 Add 按鈕,可以選擇Add Regex Only 或者 Add Regex With Test Subject,指定只保存正則,還是同時(shí)保存正則和測(cè)試文本。這里選擇Add Regex With Test Subject后,可以看到已經(jīng)成功將規(guī)則加入到庫(kù)中,然后你可以點(diǎn)擊保存按鈕,來(lái)保存該庫(kù)到硬盤(pán)上面,如下圖所示:


點(diǎn)擊 Use 按鈕,可以選擇使用該正則,同樣有3個(gè)選項(xiàng),讓你指定是否使用測(cè)試文本等信息,如下圖所示:

點(diǎn)擊 Update 按鈕,可以把修改后的正則更新到該庫(kù)中,如下圖所示:

上面的操作,可以直接選擇該正則,然后點(diǎn)擊右鍵操作,如下圖所示:

Use面板,可以很方便導(dǎo)出正則為不同的編程語(yǔ)言格式。首先現(xiàn)在Language,指定輸出語(yǔ)言為Python;然后use后面選擇使用的編程方法;最后指定下變量名,就可以看到生成了Python的代碼了,如下圖所示:

GREP面板。在文件中使用上面的正則來(lái)搜索內(nèi)容。點(diǎn)擊GREP按鈕可以切換到該面板。指定Folders,F(xiàn)ile masks類(lèi)型信息后,再右上角點(diǎn)擊GREP按鈕,可以看到搜索的結(jié)果,如下圖所示:

Create面板。對(duì)這個(gè)正則表達(dá)式的解釋的一個(gè)樹(shù)狀展示,其中的每一個(gè)節(jié)點(diǎn)對(duì)照著表達(dá)式中的一個(gè)元素塊,在RegexBuddy中被稱(chēng)為一個(gè)“token”,我們點(diǎn)擊其中的一個(gè)節(jié)點(diǎn),就會(huì)在我們所輸入的表達(dá)式的相應(yīng)部分進(jìn)行著重顯示。在分析他人所寫(xiě)的復(fù)雜的表達(dá)式的時(shí)候在這里查看會(huì)十分方便,如下圖所示:

點(diǎn)擊 Explain Token按鈕,指向的正是你所選擇的節(jié)點(diǎn)的正則表達(dá)式的語(yǔ)法規(guī)則的解釋?zhuān)缦聢D所示:<br style="font-family:

點(diǎn)擊 Insert Token按鈕會(huì)彈出一個(gè)下拉菜單,其中包含了正則表達(dá)式里涉及的所有語(yǔ)法符號(hào),可以進(jìn)行選擇,當(dāng)然對(duì)于語(yǔ)法十分熟悉后,就可以不用這個(gè)菜單,直接在上面的文本輸入?yún)^(qū)鍵入表達(dá)式了,如下圖所示:

Export按鈕,可以將當(dāng)前的表達(dá)式導(dǎo)出到文本文件、HTML文件或放入到剪貼板中。打印按鈕,可以將當(dāng)前的表達(dá)示打印出來(lái)。上面的這些按鈕,也可以直接點(diǎn)擊右鍵來(lái)操作,如下圖所示:

歷史記錄面板。顯示你所編輯過(guò)得正則信息,你可以隨時(shí)點(diǎn)擊來(lái)切換,如下圖所示:

上面的界面是再M(fèi)atch模式下的介紹;如果點(diǎn)擊上面的Replace按鈕,顯示的面板會(huì)由稍微的不同。下面的界面顯示了,對(duì)匹配到的正則內(nèi)容,替換為HELLO的效果,如下圖所示:

Split模式下,指定用匹配的正則做分割,可以指定要去的split次數(shù),如下圖所示:

Dot matches newline:是否允許 . 匹配任何字符包括分隔符。Case insensitive:是否不區(qū)分大小寫(xiě)。選中后,測(cè)試效果如下:輸入的是大寫(xiě)的TITLE,以及多行顯示都可以匹配出來(lái),如下圖所示:

^$ match at line breaks:對(duì)^$只會(huì)對(duì)開(kāi)始的字符串或者結(jié)束的字符串做匹配,如果選中該選項(xiàng),則可以對(duì)前后換行也支持。選中后,效果如下:www.lifeba.org前后都有行,可以匹配出來(lái),如下圖所示:

【正則工具regexbuddy常見(jiàn)問(wèn)題】
(1)初始界面選項(xiàng)介紹
(2)如何使用匹配

(3)如何使用正則替換

(4)如何使用Debug

【正則表達(dá)式語(yǔ)法】
1、正則表達(dá)式的作用正則表達(dá)式是很繁瑣的,但也相當(dāng)有用。學(xué)會(huì)正則表達(dá)式,可以讓你做很多工作時(shí)都成倍地提高效率。正則表達(dá)式的作用可以概括為三個(gè)方面測(cè)試字符串內(nèi)模式、替換文本、基于模式匹配從字符串中提取子字符串。
它的應(yīng)用領(lǐng)域也相當(dāng)廣泛,C#, java, python等等語(yǔ)言中都有應(yīng)用。這里主要說(shuō)明python中的正則表達(dá)式。
2、正則表達(dá)式語(yǔ)法
正則表達(dá)式是由普通字符(如a-z)以及特殊字符(“元字符")組成的文字模式。模式描述在搜索文本時(shí)要匹配的一個(gè)或多個(gè)字符串。正則表達(dá)式作為一個(gè)模板,將字符串模式與搜索資源進(jìn)行匹配。
構(gòu)造正則表達(dá)式的方法實(shí)際上跟構(gòu)造數(shù)學(xué)公式相似。即用多種元字符與運(yùn)算符將小的表達(dá)式結(jié)合在一起來(lái)創(chuàng)建更大的表達(dá)式。正則表達(dá)式的組建可以是單個(gè)字符、字符集合、字符范圍、字符間的選擇或者所有這些組建的任意組合。
3、字符種類(lèi)
字符一般分為普通字符、非打印字符、特殊字符、限定符、定位符等。
1)普通字符:包括沒(méi)有顯示指定為元字符的所有可打印和不可打印字符。這包括所有大寫(xiě)和小寫(xiě)字母,所有數(shù)字、所有標(biāo)點(diǎn)符號(hào)和一些其他符號(hào)。
2)非打印字符,如下表所示:

3)特殊字符,有特殊含義的字符。如要匹配這些元素需要在字符前面加轉(zhuǎn)義符,即反斜杠字符(\)。
$
匹配輸入字符串的結(jié)尾位置。
()
標(biāo)記一個(gè)子表達(dá)式的開(kāi)始和結(jié)束位置。子表達(dá)式可以獲取供以后使用。
*
匹配前面的子表達(dá)式0次或多次。
+
匹配前面的自表達(dá)式1次或多次。
.
匹配除換行符\n之外的任何單個(gè)字符。
[
標(biāo)記一個(gè)中括號(hào)表達(dá)式的開(kāi)始
?
匹配前面的子表達(dá)式0次或1次,或指明一個(gè)非貪婪限定符。
\
將下一個(gè)字符標(biāo)記為或特殊字符、或原義字符、或向后引用、或八進(jìn)制轉(zhuǎn)義符。
^
匹配輸入字符串的開(kāi)始位置、除非在方括號(hào)表達(dá)式中使用,此時(shí)它表示排除該字符的集合。
{
標(biāo)記限定符表達(dá)式的開(kāi)始。
|
指明兩項(xiàng)之間的一個(gè)選擇。
4)限定符:用來(lái)指定正則表達(dá)式的一個(gè)給定組件必須要出現(xiàn)多少次才能滿(mǎn)足匹配。如下表所示:
*
匹配前面的子表達(dá)式0次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等價(jià)于{0,}。
+
匹配前面的子表達(dá)式1次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等價(jià)于 {1,}。
?
匹配前面的子表達(dá)式0次或1次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等價(jià)于 {0,1}。
{n}
n 是一個(gè)非負(fù)整數(shù)。匹配確定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的兩個(gè) o。
{n,}
n 是一個(gè)非負(fù)整數(shù)。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等價(jià)于 'o+'。'o{0,}' 則等價(jià)于 'o*'。
{n,m}
m 和 n 均為非負(fù)整數(shù),其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 將匹配 "fooooood" 中的前三個(gè) o。'o{0,1}' 等價(jià)于 'o?'。請(qǐng)注意在逗號(hào)和兩個(gè)數(shù)之間不能有空格。
5)定位符:定位符用來(lái)描述字符串或單詞的邊界,^和$分別指字符串的開(kāi)始與結(jié)束,\b描述單詞的前或后邊界,\B表示非單詞邊界。
TIPS:不能將限定符與定位點(diǎn)一起使用。由于在緊靠換行或者字邊界的前面或后面不能有一個(gè)以上位置,因此不允許諸如 ^* 之類(lèi)的表達(dá)式。
若要匹配一行文本開(kāi)始處的文本,請(qǐng)?jiān)谡齽t表達(dá)式的開(kāi)始使用 ^ 字符。不要將 ^ 的這種用法與中括號(hào)表達(dá)式內(nèi)的用法混淆。
若要匹配一行文本的結(jié)束處的文本,請(qǐng)?jiān)谡齽t表達(dá)式的結(jié)束處使用 $ 字符。
4、非捕獲元素與反向引用
用圓括號(hào)將所有選擇項(xiàng)括起來(lái),相鄰的選擇項(xiàng)之間用|分隔。但用圓括號(hào)會(huì)有一個(gè)副作用,相匹配的項(xiàng)會(huì)被緩存,用?:放在第一個(gè)選項(xiàng)前就可消除這一副作用。
這是一個(gè)非捕獲元,其他還有?=與?!。前者為正向預(yù)查,在任何開(kāi)始匹配圓括號(hào)內(nèi)的正則表達(dá)式模式的位置搜索字符串,后者為負(fù)向預(yù)查,在任何不匹配該正則表達(dá)式的位置來(lái)匹配搜索字符串。
反向引用最簡(jiǎn)單、最有用的應(yīng)用之一是提供查找文本中相同的相鄰單詞的匹配項(xiàng)的能力。
5、元字符
所有元字符如下表所示:

其在正則表達(dá)式上下文中的行為如下:
?
當(dāng)該字符緊跟在任何一個(gè)其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面時(shí),匹配模式是非貪婪的。非貪婪模式盡可能少的匹配所搜索的字符串,而默認(rèn)的貪婪模式則盡可能多的匹配所搜索的字符串。例如,對(duì)于字符串 "oooo",'o+?' 將匹配單個(gè) "o",而 'o+' 將匹配所有 'o'。
.
匹配除 "\n" 之外的任何單個(gè)字符。要匹配包括 '\n' 在內(nèi)的任何字符,請(qǐng)使用象 '[.\n]' 的模式。
(pattern)
匹配 pattern 并獲取這一匹配。所獲取的匹配可以從產(chǎn)生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中則使用 $0…$9 屬性。要匹配圓括號(hào)字符,請(qǐng)使用 '\(' 或 '\)'。
(?:pattern)
匹配 pattern 但不獲取匹配結(jié)果,也就是說(shuō)這是一個(gè)非獲取匹配,不進(jìn)行存儲(chǔ)供以后使用。這在使用 "或" 字符 (|) 來(lái)組合一個(gè)模式的各個(gè)部分是很有用。例如, 'industr(?:y|ies) 就是一個(gè)比 'industry|industries' 更簡(jiǎn)略的表達(dá)式。
(?=pattern)
正向預(yù)查,在任何匹配 pattern 的字符串開(kāi)始處匹配查找字符串。這是一個(gè)非獲取匹配,也就是說(shuō),該匹配不需要獲取供以后使用。例如,'Windows (?=95|98|NT|2000)' 能匹配 "Windows 2000" 中的 "Windows" ,但不能匹配 "Windows 3.1" 中的 "Windows"。預(yù)查不消耗字符,也就是說(shuō),在一個(gè)匹配發(fā)生后,在最后一次匹配之后立即開(kāi)始下一次匹配的搜索,而不是從包含預(yù)查的字符之后開(kāi)始。
(?!pattern)
負(fù)向預(yù)查,在任何不匹配 pattern 的字符串開(kāi)始處匹配查找字符串。這是一個(gè)非獲取匹配,也就是說(shuō),該匹配不需要獲取供以后使用。例如'Windows (?!95|98|NT|2000)' 能匹配 "Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中的 "Windows"。預(yù)查不消耗字符,也就是說(shuō),在一個(gè)匹配發(fā)生后,在最后一次匹配之后立即開(kāi)始下一次匹配的搜索,而不是從包含預(yù)查的字符之后開(kāi)始。
x|y
匹配 x 或 y。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 則匹配 "zood" 或 "food"。
[xyz]
字符集合。匹配所包含的任意一個(gè)字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。
[^xyz]
負(fù)值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。
[a-z]
字符范圍。匹配指定范圍內(nèi)的任意字符。例如,'[a-z]' 可以匹配 'a' 到 'z' 范圍內(nèi)的任意小寫(xiě)字母字符。
[^a-z]
負(fù)值字符范圍。匹配任何不在指定范圍內(nèi)的任意字符。例如,'[^a-z]' 可以匹配任何不在 'a' 到 'z' 范圍內(nèi)的任意字符。
\b
匹配一個(gè)單詞邊界,也就是指單詞和空格間的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。
\B
匹配非單詞邊界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。
\cx
匹配由 x 指明的控制字符。例如, \cM 匹配一個(gè) Control-M 或回車(chē)符。x 的值必須為 A-Z 或 a-z 之一。否則,將 c 視為一個(gè)原義的 'c' 字符。
\d
匹配一個(gè)數(shù)字字符。等價(jià)于 [0-9]。
\D
匹配一個(gè)非數(shù)字字符。等價(jià)于 [^0-9]。
\f
匹配一個(gè)換頁(yè)符。等價(jià)于 \x0c 和 \cL。
\n
匹配一個(gè)換行符。等價(jià)于 \x0a 和 \cJ。
\r
匹配一個(gè)回車(chē)符。等價(jià)于 \x0d 和 \cM。
\s
匹配任何空白字符,包括空格、制表符、換頁(yè)符等等。等價(jià)于 [ \f\n\r\t\v]。
\S
匹配任何非空白字符。等價(jià)于 [^ \f\n\r\t\v]。
\t
匹配一個(gè)制表符。等價(jià)于 \x09 和 \cI。
\v
匹配一個(gè)垂直制表符。等價(jià)于 \x0b 和 \cK。
\w
匹配包括下劃線(xiàn)的任何單詞字符。等價(jià)于'[A-Za-z0-9_]'。
\W
匹配任何非單詞字符。等價(jià)于 '[^A-Za-z0-9_]'。
\xn
匹配 n,其中 n 為十六進(jìn)制轉(zhuǎn)義值。十六進(jìn)制轉(zhuǎn)義值必須為確定的兩個(gè)數(shù)字長(zhǎng)。例如,'\x41' 匹配 "A"。'\x041' 則等價(jià)于 '\x04' & "1"。正則表達(dá)式中可以使用 ASCII 編碼。
\num
匹配 num,其中 num 是一個(gè)正整數(shù)。對(duì)所獲取的匹配的引用。例如,'(.)\1' 匹配兩個(gè)連續(xù)的相同字符。
\n
標(biāo)識(shí)一個(gè)八進(jìn)制轉(zhuǎn)義值或一個(gè)向后引用。如果 \n 之前至少 n 個(gè)獲取的子表達(dá)式,則 n 為向后引用。否則,如果 n 為八進(jìn)制數(shù)字 (0-7),則 n 為一個(gè)八進(jìn)制轉(zhuǎn)義值。
\nm
標(biāo)識(shí)一個(gè)八進(jìn)制轉(zhuǎn)義值或一個(gè)向后引用。如果 \nm 之前至少有 nm 個(gè)獲得子表達(dá)式,則 nm 為向后引用。如果 \nm 之前至少有 n 個(gè)獲取,則 n 為一個(gè)后跟文字 m 的向后引用。如果前面的條件都不滿(mǎn)足,若 n 和 m 均為八進(jìn)制數(shù)字 (0-7),則 \nm 將匹配八進(jìn)制轉(zhuǎn)義值 nm。
\nml
如果 n 為八進(jìn)制數(shù)字 (0-3),且 m 和 l 均為八進(jìn)制數(shù)字 (0-7),則匹配八進(jìn)制轉(zhuǎn)義值 nml。
\un
匹配 n,其中 n 是一個(gè)用四個(gè)十六進(jìn)制數(shù)字表示的 Unicode 字符。例如, \u00A9 匹配版權(quán)符號(hào) (?)。
6、運(yùn)算符優(yōu)先級(jí)

7、匹配規(guī)則
這里主要包括一個(gè)常用的模式,如字符簇、重復(fù)出現(xiàn)等。具體如下表所示:
8、python正則表達(dá)式常用函數(shù)
.*:貪心算法,可以包括符合正則表達(dá)式的所有字符包括' '、'\n'、'\t'等
.*?:非貪心算法,包括符合正則表達(dá)式的連續(xù)的字段。
python中的re庫(kù)包括的幾乎所有的正則表達(dá)式功能。compile函數(shù)根據(jù)一個(gè)模式字符串和可選的標(biāo)志參數(shù)生成一個(gè)正則表達(dá)式對(duì)象。該對(duì)象具有一系列用于正則表達(dá)式匹配和替換。
1)re.match方法,從字符串的起始位置匹配一個(gè)模式,如果不是起始位置匹配成功的話(huà),返回none。
用法及參數(shù)為:
re.match(pattern,string, flags=0
pattern是正則表達(dá)式,string是要匹配的字符串,flags是標(biāo)志位,用于控制正則表達(dá)式的匹配方式,如區(qū)分大小寫(xiě),多行匹配等等。
匹配成功返回一個(gè)匹配對(duì)象,這里用group(num)或groups()匹配對(duì)象函數(shù)來(lái)獲取匹配表達(dá)式。
2)re.search方法:掃描整個(gè)字符串并返回第一個(gè)成功的匹配,其他與match相同。
3)re.findall方法:匹配所有符合規(guī)律的內(nèi)容,返回結(jié)果列表。
4)re.sub方法:替換符合規(guī)律的內(nèi)容,返回替換后的值。






































