正則表達式測試
正則表達式測試工具,是檢驗正則模式和給定文本之間是否匹配的工具,它能夠把匹配到的結(jié)果高亮顯示,是在線驗證正則表達式的必備工具。本工具使用原生 JS 實現(xiàn),具有極高的正則解析和匹配效率。另外,本工具還提供了各種常用正則表達式的寫法,可以作為日常書寫正則表達式時的參考。
輸入正則表達式:
輸入要檢測的文本
匹配結(jié)果:共找到0 處匹配
提示:到底什么是正則表達式?在編寫處理字符串的程序或網(wǎng)頁時,經(jīng)常有查找符合某些復雜規(guī)則的字符串的需要。正則表達式就是用于描述這些規(guī)則的工具。換句話說,正則表達式就是記錄文本規(guī)則的代碼。
常用正則表達式示例
| 項目 | 正則表達式 |
|---|---|
| tppabs=".[^"]*" | 下載下來的站點多了不少無用的標簽如tppabs="http://www.spv86.com/lxfs.html",比如:tppabs,javascript:if(confirm,tpa等,可以用“Notepad++V6.69綠色單文件版”打開全部的*.html,然后替換,查找目標里填:tppabs=".[^"]*",替換里什么都不填,選中“正則表達式”,替換,全部保存即可。 |
| /\b([a-z]+) \1\b/gi | 一個單詞連續(xù)出現(xiàn)的位置。 |
| /(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/ | 將一個URL解析為協(xié)議、域、端口及相對路徑。 |
| /^(?:Chapter|Section) [1-9][0-9]{0,1}$/ | 定位章節(jié)的位置。 |
| /[-a-z]/ | a至z共26個字母再加一個-號。 |
| /ter\b/ | 可匹配chapter,而不能匹配terminal。 |
| /\Bapt/ | 可匹配chapter,而不能匹配aptitude。 |
| /Windows(?=95 |98 |NT )/ | 可匹配Windows95或Windows98或WindowsNT,當找到一個匹配后,從Windows后面開始進行下一次的檢索匹配。 |
| /^\s*$/ | 匹配空行。 |
| /\d{2}-\d{5}/ | 驗證由兩位數(shù)字、一個連字符再加 5 位數(shù)字組成的 ID 號。 |
| /<\s*(\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>/ | 匹配 HTML 標記。 |
常用括號符號及意義
| 代碼 | 說明 |
|---|---|
| () | 是為了提取匹配的字符串。表達式中有幾個()就有幾個相應的匹配字符串 |
| (\s*) | 表示連續(xù)空格的字符串 |
| [] | 定義匹配的字符范圍。比如 [a-zA-Z0-9] 表示相應位置的字符要匹配英文字符和數(shù)字。[\s*]表示空格或者*號。。表達式中有幾個()就有幾個相應的匹配字符串 |
| {} | 一般用來表示匹配的長度,比如 \s{3} 表示匹配三個空格,\s{1,3}表示匹配一到三個空格 |
| (0-9) | 匹配 '0-9′ 本身。 [0-9]* 匹配數(shù)字(注意后面有 *,可以為空)[0-9]+ 匹配數(shù)字(注意后面有 +,不可以為空){1-9} 寫法錯誤 |
常用元字符
| 代碼 | 說明 |
|---|---|
| . | 匹配除換行符以外的任意字符 |
| \w | 匹配字母或數(shù)字或下劃線 |
| \s | 匹配任意的空白符 |
| \d | 匹配數(shù)字 |
| \b | 匹配單詞的開始或結(jié)束 |
| ^ | 匹配字符串的開始 |
| $ | 匹配字符串的結(jié)束 |
常用限定符
| 代碼/語法 | 說明 |
|---|---|
| * | 重復零次或更多次 |
| + | 重復一次或更多次 |
| ? | 重復零次或一次 |
| {n} | 重復n次 |
| {n,} | 重復n次或更多次 |
| {n,m} | 重復n到m次 |
常用反義詞
| 代碼/語法 | 說明 |
|---|---|
| \W | 匹配任意不是字母,數(shù)字,下劃線,漢字的字符 |
| \S | 匹配任意不是空白符的字符 |
| \D | 匹配任意非數(shù)字的字符 |
| \B | 匹配不是單詞開頭或結(jié)束的位置 |
| [^x] | 匹配除了x以外的任意字符 |
| [^aeiou] | 匹配除了aeiou這幾個字母以外的任意字符 |
常用模式修正符
| 代碼/語法 | 說明 |
|---|---|
| i | 表示在進行匹配的時候不區(qū)分大小寫 |
| m | 多行識別.即將字符串視為多行,不管是那行都能匹配 |
| s | 將字符串視為單行,轉(zhuǎn)義回車換行符作為普通字符 |
| g | 表示全局匹配 |
| x | 將模式中的空白忽略 |
| A | 強制從目標字符串開頭匹配 |
| D | 強制尾部無任何內(nèi)容.若使用$限制結(jié)尾字符,則不允許結(jié)尾有換行 |
| U | 禁止貪婪匹配,只匹配最近的一個字符串(不重復匹配) |
| e | 配合PHP函數(shù)preg_replace()使用,可以把匹配來的字符串當作正則表達式執(zhí)行 |