1. 程式人生 > 程式設計 >淺談JS正則RegExp物件

淺談JS正則RegExp物件

目錄
  • 1、RegExp物件
  • 2、語法
    • 2.1 otMGdETRN定義
    • 2.2 修飾符
    • 2.3 方括號
    • 2.4 元字元
    • 2.5 量詞
    • 2.6 方法

1、RegExp物件

  • 正則表示式是描述字元模式的物件。
  • 正則表示式用於對字串模式匹配及檢索替換,是對字串執行模式匹配的強大工具。
  • 參考教材:w3cschool | RegExp 物件

2、語法

2.1 定義

當使用 建構函式 創造正則物件時,需要常規的字元轉義規則(在前面加反斜槓 \)

/* 比如,以下兩種方式的定義是等價的 */

// 建構函式方式
const reg = new RegExp("\\w+");
// 字面量方式
const reg = /\w+/;

2.2 修飾符

用於執行區分大小寫和全域性匹配

修飾符 描述
i 執行對大小寫不敏感的匹配。
g 執行全域性匹配(查詢所有匹配而非在找到第一個匹配後停止)。
m 執行多行匹配。

    /* 栗子 */
const reg = /\w/gi

2.3 方括號

用於查詢某個範圍內的字元:

客棧
表示式 描述
[abc] 查詢方括號之間的任何字元。
[^abc] 查詢任何不在方括號之間的字元。
[0-9] 查詢任何從 0 至 9 的數字。
[a-z] 查詢任何從小寫 a 到小寫 z 的字元。
[A-Z] 查詢任何從大寫 A 到大寫 Z 的字元。
[A-z] 查詢任何從大寫 A 到小寫 z 的字元。
[adgk] 查詢給定集合內的任何字元。
[^adgk] 查詢給定集合外的任何字元。
(red|blue|green) 查詢任何指定的選項。

/* 栗子 */
const reg = /[0-9]/g

2.4 元字元

是擁有特殊含義的字元:

元字元 描述
. 查詢單個字元,除了換行和行結束符。
\w 查詢單詞字元。
\W 查詢非單詞字元。
\d 查詢數字。
\D 查詢非數字字元。
\s 查詢空白字元。
\S 查詢非空白字元。
\b 匹配單詞邊界。
\B 匹配非單詞邊界。
\0 查詢 NUL 字元。
\n 查詢換行符。
\f 查詢換頁符。
\r 查找回車符。
\t 查詢製表符。
\v 查詢垂直製表符。
\xxx 查詢以八進位制數 xxx 規定的字元。
\xdd 查詢以十六進位制數 dd 規定的字元。
\uxxxx 查詢以十六進位制數 xxxx 規定的 Unicode 字元。

/* 栗子 */
const reg = /\d/g   // 匹配數字

2.5 量詞

是擁有特殊含義的字元:

程式設計客棧
量詞 描述
n+ 匹配任何包含至少一個 n 的字串。
n* 匹配任何包含零個或多個 n 的字串。
n? 匹配任何包含零個或一個 n 的字串。
n{X} 匹配包含 X 個 n 的序列的字串。
n{X,Y} 匹配包含 X 至 Y 個 n 的序列的字串。
n{X,} 匹配包含至少 X 個 n 的序列的字串。
n$ 匹配任何結尾為 n 的字串。
^n 匹配任何開頭為 n 的字串。
?=n 匹配任何其後緊接指定字串 n 的字串。
?!n 匹配任何其後沒有緊接指定字串 n 的字串。

/* 栗子 */
const reg = /\d+/g  // 匹配至少一個數字

2.6 方法

是擁有特殊含義的字元:

方法 描述 FF IE
compile 編譯正則表示式。 1 4
exec 檢索字串中指定的值。返回找到的值,並確定其位置。 1 4
test 檢索字串中指定的值。返回 true 或 false。 1 4

方法 描述 FF IE
search 檢索與正則表示式相匹配的值。 1 4
match 找到一個或多個正則表示式的匹配。 1 4
replace 替換與正則表示式匹配的子串。 1 4
spliotMGdETRNt 把字串分割為字串陣列。 1 4

/* 栗子 */
var patt = /Hello/g
var result = patt.test(str) // 查詢Hello字串 -> true

到此這篇關於淺談正則RegExp物件的文章就介紹到這了,更多相關JS正則RegExp物件內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!