正規表示式的總結大全

2021-08-30 11:38:22 字數 3017 閱讀 8476

1.建立正規表示式的物件

//var reg = new regexp(「正規表示式」,「匹配模式」);

var reg = new regexp(「a」) 檢查乙個字串中是否含有a,區分大小寫的

在建構函式中可以傳遞乙個匹配模式作為第二個引數,可以是 i 忽略大小寫, g 全域性匹配模式

var str = 「a」

//可以使用test()方法來檢查乙個字串是否符合正規表示式的規則

//如果符合則返回true,否則返回false

var result = reg.test(str);

2.上述方式有點麻煩,所以簡單的是:使用字面量的方式更加簡單,建構函式更加靈活

/*語法:var 變數 = /正規表示式/匹配模式

*/var reg = new regexp(「a』, 「i」) 改寫 reg = /a/i

//建立乙個字串中是否有a或b,使用 | 表示或者

reg = /a|b/;

/*建立乙個字串中是否有字母

裡的內容也是或的關係 [ab] = a|b

[a-z]任意小寫字母

[a-z]任意大寫字母

[a-z] 任意字母

[0-9] 任意數字

*/reg = /[abcdefghi…]/太長了所以 /[a-z]/

//檢查乙個字串中是否含有abc 或 adc 或 aec

reg = /abc|adc|aec/這麼寫有點笨 所以改寫為

reg = /a[bde]c/

/*[^ ] 除了

*/reg = /[^ab]/ 除了ab [^0-9]除了0-9

十三.字串和正則相關的

var str = 「1a2b3c4d5e6f」

var result = str.split(「c」);

console.log(result.length)

/*現在想根據任意字母來講字串拆分

方法中可以傳遞乙個正規表示式作為引數,這樣方法將會根據正規表示式去拆分字串

/var result = str.split(/[a-z]/);

/search():只會查詢第乙個

可以搜尋字串中是否含有指定內容

如果搜尋到指定內容,則會返回第一次出現的索引,如果沒有搜尋到返回-1

它可以接受乙個正規表示式作為引數,然後會根據正規表示式去檢索字串

/str = 「hello abc hello abc」

result str.search(「abc」); 得到索引6

/搜尋字串中是否含有abc 或 aec 或afc

*/result = str.search(/a[bef]c/)

/*match()

可以根據正規表示式,從乙個字串中將符合條件的內容提取出來

預設情況下我們的match只會找到第乙個符合要求的內容,找到以後就停止檢索

我們可以設定正規表示式為全域性模式,這樣就會匹配到所有內容

可以為乙個正規表示式設定多個匹配模式,且順序無所謂 所有也可以是gi

match會將匹配到的內容封裝到乙個陣列中返回,即使只查詢到乙個結果

*/str = 「1a2b3c4d5e6f」 想提取所有的字母

result = str.match(/[a-z]/) 現在只提取乙個a 找到乙個就不找了 比較懶 改為

str.match(/[a-z]/ig)

/*replace()

可以將字串中指定內容替換為新的內容

引數:1.被替換的內容,可以接受乙個正規表示式作為引數

2.新的內容

預設只會替換第乙個

建立乙個正則中是否含有三個a

var reg= /aaa/;

console.log(reg.test(「aaabc」))

缺點如果想寫三千個a怎麼辦?

解決:量詞:可以設定內容出現的次數,只會他前邊的乙個內容起作用

正好出現n次,

m-n 次

3次以上

改:/a/

//ababab

reg = /(ab)/3次以上

檢查乙個字串是否已a開頭:/^a/ 匹配結尾的a: /a$/

^表示開頭

katex parse error: expected group after '^' at position 37: …符 如果在正規表示式中同時使用^̲則要求字串必須完全符合正規表示式

/^a$/ 表示只能是乙個a

練習: 手機號

手機號的規則:11位 1 5601661883

1.以1開頭

2.第二位3-9任意數字

3.第三位以後任意數字,長度9位

答:/^1[3-9][0-9]$/

檢查乙個字串中是否含有 . =》/./

檢查\ => /\/

\w: 任意字母、數字 、下劃線 = [a-z0-9_]

\w:除了字母、數字、下劃線 =[^a-z0-9_]

\d: 數字

\d:除了數字

\s:空格

\s: 除了空格

\b:單詞邊界 例如: 是否含有child => /\bchild\b/

\b去除字串中的空格

思路: 用」」替換

str.replace(/\s/g,」」)=> 所有的空格,前後中都被去掉了

去除前邊的空格: /^\s*/

去除結尾的空格: /\s*katex parse error: expected group after '^' at position 17: … 整合去除開頭和結尾的空格:/^̲\s*|\s*/g

*//*電子郵件的正則:[email protected]

1.任意的字母數字下劃線 .任意字母數字下劃線 @ 任意字母數字 .任意字母2-5位 .任意字母2-5位可選的

\w (.\w+)* @ [a-z0-9]+ (.[a-z])

var reg = "[email protected]" , result = /\w(.\w+)*@[a-z0-9]+(.[a-z])/ ; console.log(result.test(reg))

正規表示式大全

0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d d 非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 正浮點數 d d 0 0 非正浮點數 負浮點數 0 0 9 0 9 1 9...

正規表示式大全

d d d b end function c string mdytodmy string input d d b regex 替換模式 本示例說明如何在 regex.replace 的替換模式中使用命名的反向引用。其中,替換表示式 插入由 組捕獲的子字串。有幾種靜態函式使您可以在使用正規表示式操作...

正規表示式大全

專案推薦 推薦個人github開源專案 iot dc3 乙個開源的 分布式的物聯網 iot 平台,用於快速開發物聯網專案和管理拓展。匹配中文字元的 u4e00 u9fa5 匹配雙位元組字元 x00 xff 匹配空白行 ns r 匹配email w w w w w w 匹配 a za z s 匹配賬號...