js正則表達式

元字符

正則表達式讓人望而卻步以一個重要原因就是轉義字符太多了,組合非常多,但是正則表達式的元字符(在正則表達式中具有特殊意義的專用字符,可以用來規(guī)定其前導字符)并不多。

( [ { \ ^ $ | ) ? * + .
特殊字符
字符 含義
\t 水平制表符
\r 回車符
\n 換行符
\f 換頁符
\v 垂直制表符
\0 空字符

字符類

一般情況下正則表達式一個字符(轉義字符算一個)對應字符串一個字符,一般情況下正則表達式一個字符(轉義字符算一個)對應字符串一個字符。但是我們可以使用元字符[]來構建一個簡單的類, 比如[abcd]代表一個字符,這個字符可以是 abcd四個字符中的任意一個。

表示范圍

匹配數字0-9:[0-9].
匹配字母:[a-zA-Z].

取反

元字符[]組合可以創(chuàng)建一個類,我們還可以使用元字符^創(chuàng)建反向類/負向類,反向類的意思是不屬于XXX類的內容,表達式[^abc] 表示一個不是字符a或b或c的字符。

預定義類

字符 等價類 含義
. [^\r\n] 除了回車符和換行符外所有字符
\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] 非單詞字符

邊界

正則表達式還提供了幾個常用的邊界匹配字符。

字符 含義
^ 以xxx開頭
$ 以xxx結尾
\b 單詞邊界
\B 非單詞邊界

量詞

字符 含義
? 出現零次或一次(最多出現一次)
+ 出現一次或多次(至少出現一次)
* 出現零次或多次(任意次)
{n} 出現n次
{n,m} 出現n到m次
{n,} 至少出現n次

修飾符

  • g:global,全文搜索,不添加的話搜索到第一個結果停止搜索
  • i:ingore case ,忽略大小寫,默認大小寫敏感
  • m:multiple lines 多行搜索

分組

希望一個字符作為一個整體搜索,加上()。

var reg1 = /hello|world/ 
//等同于
var reg2 = /(hello)|(world)/
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 正則表達式功能: 測試字符串的某個模式。例如對一個輸入字符串進行測試,看在該字符串是否存在一個電話號碼模式或一個信...
    DecadeHeart閱讀 716評論 0 1
  • 一、 什么是正則表達式 1、 概述 以上代碼中,在判斷時,用到了 標準庫中 string 對象的indexOf()...
    寵辱不驚丶歲月靜好閱讀 622評論 0 1
  • @(javascript)[js正則表達式] [toc] JS正則表達式 正則表達式一直是一個令人頭疼但卻又是十分...
    踏浪free閱讀 466評論 0 1
  • 目錄 第一章 正則表達式字符匹配攻略 第二章 正則表達式位置匹配攻略 第三章 正則表達式括號的作用 第四章 正則表...
    Albert_w3閱讀 466評論 0 2
  • JavaScript-正則表達式 記錄這篇高大上的正則表達式,其實接觸很多,但是實際項目里面感覺運用的比較少呀,用...
    明明三省閱讀 3,198評論 0 24

友情鏈接更多精彩內容