正規表示式規則

2021-06-27 11:34:47 字數 1389 閱讀 1640

正規表示式是用乙個字串表示乙個特徵,來驗證另乙個字串是否滿足這一特徵的方法。

正規表示式主要用於檢驗規則匹配,查詢特定規則字串的位置,進行特定規則替換。

1. 匹配普通字元

匹配乙個特定的字元,如a,那麼正規表示式就寫為a。

2. 匹配轉義字元

一般轉義字元:

\r 回車,\n 換行,\t 製表符,\f 換頁符,\v 垂直製表符

正規表示式中出現的新轉義字元:

\^ 表示^符號,\$ 表示$符號,\. 表示.小數點

3. 匹配萬用字元

\d 任意乙個數字,0-9

\w 任意乙個數字,字母或下劃線,0-9,a-z,a-z,_

\s 空格,換行符,製表符,換頁符等空白字元

. 小數點匹配除換行符以外任何字元

還有\d,\w,\s。分別表示小寫字母代表意思的取反。如\d表示非數字

4. 中括號

中會包含一系列字元,只要能夠與中括號中的乙個匹配,即認為是匹配。

如[abc]匹配a或b或c。稱之為字符集。

在字符集中可以出現^,表示字符集取反。

5. 匹配出現次數

大括號:

{}中一般有數字,用於修飾前面的表示式的重複次數。

表示表示式重複n次。

表示表示式最少重複m次,最多重複n次。

表示表示式最少重複m次。

閉包運算:

? 表示式出現0次或者1次,相當於。

+ 表示式至少出現一次,相當於。

* 表示式不出現或者出現任意次,相當於。

6. 邊界運算子

^ 表示在字串開始處匹配。如^aa可以匹配aabb,但不能匹配bbaa。

$ 表示字串結束處匹配,如$aa可以匹配bbaa,但不能匹配aabb。

\b 邊界匹配,要求匹配區域一邊是\w,另一邊是\w。如er可以匹配never,不能匹配verb。

\b 非邊界匹配,要求匹配區域兩邊都是\w。如er可以匹配verb,不能匹配never。

舉乙個例子:

使用規則".\b."匹配「@#abc」,匹配到「#a」。

7. 或運算子

| 乙個豎線表示或運算子

8. 反向引用

反向引用主要用於匹配html標籤,如abc

等,可用規則<(\w+)>(.*?)進行匹配。其中\1指代第乙個括號中匹配規則匹配到的字串,以此類推\2表示第二個。通過這樣處理可以確保標籤的配對。

9. 貪婪匹配

貪婪與非貪婪匹配區別在於匹配次數後面是否有乙個問號。如(a)(\d+)與(a)(\d+?)對於a12345的匹配是不同的,前者是貪婪匹配,會匹配到a12345,而後者只會匹配到滿足條件,不會往下匹配,會匹配到a1,是非貪婪匹配。

以上只是列出了一些較常用的功能。有關於正規表示式,還可以參考微軟msdn提供的資料。

正規表示式 規則表示式

今天學習了正規表示式的一些基礎知識,1.概念 首先了解了一下正規表示式的含義 一些便於計算機識別的規則,能夠快速方便地對字元進行操作。而對於計算機而言,也有一寫規則表示式,它是能令計算機讀懂的 所以對我們來說看起來比較費勁 也相當於計算機的常識,一遇到就知道你要幹什麼。2.建立正則物件 var re...

正規表示式 規則

system.out.printf example 2f n 19.234 example 19.23 system.out.printf example 6.2f n 19.234 example 19.23 l xn匹配 ascii 碼值等於 n的字元 此處的 n 必須是兩位的十六進製制數。例如...

正規表示式規則

0 13 0 9 15 7 9 153 156 18 7 9 0 9 開頭匹配的字元,結尾匹配的字元才能識別為正規表示式,表示個數,表示字元選擇域,分隔優先順序,或 萬用字元匹配檔名中的單個字元,號碼,11位純數字,1開頭,其它不做限制 1 0 9 而 萬用字元匹配零個或多個字元。像 data?da...