元字元原義字元
非列印字元
字元類預定義類
邊界量詞
貪婪與懶惰(非貪婪)
3.練習一下
先來看看幾個常用的案例。
手機號碼正規表示式: /^1[345789][0-9]$/
解釋:最外的/.../是正則的表示式的標誌,
^:表示以什麼開頭,
:表示哪些可選項,
{}:表示出現幾次,
$:以什麼結尾。
手機號案例:以1開頭,第2位為[3,4,5,7,8,9]中任一,【第2位為0~9任意一位,迴圈9次】也就是第3位到第11位為任意數字。
日期的正規表示式: /^\d[/-]\d[/-]\d$/
解釋:最外的//是正則的表示式的標誌,
^:表示以什麼開頭,
\d:表示為數字,
{}:表示出現幾次,
/-:表示 - ,
$:表示結尾。
日期案例:4位數字-2位數字-2位數字
修飾符
修飾符與其他語法特殊,字面量方法聲名的時候放到/…/後,建構函式宣告的時候,作為第二個引數傳入。整個正規表示式可以理解為正規表示式規則字串+修飾符。
(1)g:global執行乙個全域性匹配。不加g只匹配第乙個。
(2)i:ignore case忽略大小寫進行匹配。
(3):multiple lines多行匹配
元字元原義字元例如我們要匹配的is 或 別的字元
非列印字元\f 匹配乙個換頁符。等價於\x0c和\cl。
\n 匹配乙個換行符。等價於\x0a和\cj。
\r 匹配乙個換行符。等價於\x0d 和 \cm。
\s 匹配任何空白字元,包括空格、製表符、換頁符等。 等價於[ \f\n\r\t\v]。
\s 匹配任何非空白字元。 等價於[ ^ \f\n\r\t\v]。
\t 匹配乙個製表符。 等價於 \x09 和 \cl 。
\v 匹配乙個垂直製表符。 等價於 \x0b 和 \ck
字元類[可以表示匹配數字] :[13579] :【任意從13579取一】
[可以表示某些字元]:[//] :【//】
[^ 可以表示取反]:[ ^ 13579]:【任意從02468取一】
[ - ]:[a-za-z0-9]:【從a-z,a-z,0-9中任意取】
預定義類. :[ ^ \n\r] :除了回車符和換行符之外的所有字元
\d :[0-9]:數字字元
\d :[ ^ 0-9]:非數字字元
\s :[\t\n\x0b\f\r]:空白符
\s :[ ^ \t\n\x0b\f\r]:非空白符
\w:[a-za-z_0-9] :單詞字元(字母、數字、下劃線)
\w:[ ^ a-za-z_0-9]:非單詞字元
邊界^ :以xx開頭。
$ :以xx結尾。
\b:單詞邊界,指[a-za-z_0-9]之外的字元。
\b:非單詞邊界。
量詞?:出現0次或1次。
*:出現任意次。
+:出現一次或多次(至少一次)。
:對應0次或n次。
:至少出現n次到不超過m次。
:至少出現n次。
:至多出現n次。
貪婪與懶惰(非貪婪)見名思意 貪婪就是盡可能多的匹配,懶惰就是盡可能少的去匹配。
在修飾匹配次數的特殊符號(+、*、)後再加上乙個 「?」 號,就由貪婪模式變成懶惰模式。
貪婪
正則式源字元
匹配結果
(j)(\w+)
「jaaaaay jay ja」
匹配第乙個j後的所有元素「jaaaaay jay ja」
(j)(\w+)(j)
「jaaaaay jay ja」
匹配第乙個和最後乙個j之間的元素"jaaaaay jay j"
懶惰正則式
源字元匹配結果
(j)(\w+?)
「jaaaayzzz jay」
「ja」
(d)(\w+?)(d)
「daadccd」
「daad」
匹配出生日期
出生日期的寫法有很多種,例如[1997-04-15]、[2023年4月15日]、[1997/4/15]、[1997-04]等等
如何把這些全部匹配進來呢
line = "xzy出生於2023年4月15日"
line = "xzy出生於1997-04-15"
line = "xzy出生於1997-04"
line = "xzy出生於1997/4/15"
line = "xzy出生於2023年4月"
reg = ".*出生於(\d[年-/]\d([月]$|[月-/]\d([日]|$)|$))"
強行解釋一波
.*就代表任意字元出現任意次數
\d代表數字,代表出現幾次,[年/-]表示可選項。 也就是匹配年份
\d 表示匹配月份可能是4 也可能是 04,但是有些只到月沒有日 有些還有日,所以要再加判斷.
[月]$: 這是考慮最後一種情況 只到月份 [2023年4月]
[月-/]\d: 這是包含日的情況
正規表示式入門教程
正規表示式,又稱正規表示法 常規表示法 英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式使用單個字串來描述 匹配一系列符合某個句法規則的字串。在很多文字編輯器裡,正規表示式通常被用來檢索 替換那些符合某個模式的文字。在編寫處理字...
正規表示式入門教程
表1.常用的元字元 匹配除換行符以外的任意字元 w匹配字母或數字或下劃線或漢字 s匹配任意的空白符 d匹配數字 b匹配單詞的開始或結束 匹配字串的開始 匹配字串的結束 表2.常用的限定符 語法說明 重複零次或更多次 重複一次或更多次 重複零次或一次 重複n次 重複n次或更多次 重複n到m次 3 正規...
正規表示式快速入門教程
首先,讓我們來了解一下究竟什麼是vbscript的 正規表示式 物件,我們先來看一段程式 function checkexp patrn,strng dim regex,match 建立變數。set regex new regexp 建立正規表示式。regex.pattern patrn 設定模式。...