正則表達式入門

正則表達式,學了好多次了,但是沒有經(jīng)過大量的實踐,總是易忘,唉...

通用正則語法

  • [abc]表示匹配a或者b或者c的字符

  • [^abc]表示匹配不是a或者b或者c的字符,^僅在[]中取反,在其他情況下表示邊界

  • 范圍類[a-z]在中括號里面的-表示范圍,如需匹配短橫線,則需在后面再加-,如[0-9-]

  • 預定義類:. 匹配除了換行符以外的任何字符 \d 匹配數(shù)字 \s 匹配字母,數(shù)字,下劃線 \w 匹配空格(字母如果變大寫則表示取反)

邊界

  • ^ $ 為起始邊界

  • \b 單詞邊界

  • \B 非單詞邊界

量詞

  • ? 匹配0個或1個

  • + 匹配 >=1 個

  • * 匹配任意多個

  • {n,m} a為最少,b為最多。若為{n},則為精確匹配;若為{n,},則匹配大于n個

匹配模式

  • 默認的匹配模式是貪婪模式(即盡可能多的匹配)

  • 若想將貪婪模式改成“廉潔模式(自創(chuàng))”,只需在量詞后面加上“ ? ”

  • 默認情況下,量詞制作用于緊挨著它的字符。如果想要破,可以用 () 來進行分組

  • () 來進行分組后的分組內(nèi)容可以用 $1,$2,... 來獲取

JS中的正則

正則對象

  • 正則對象的屬性有 g,i,m,lastIndex

  • test 方法,返回布爾值

  • exec 方法,匹配不成功返回 null,否則返回結(jié)果數(shù)組,數(shù)組的第一個元素表示匹配的文本,第二個元素是與正則對象的第一個子表達式相匹配的文本(如果有),以此類推

與正則相關(guān)的字符串方法

  • search 方法,返回第一個匹配結(jié)果的index,否則返回null(它不會執(zhí)行全局匹配)
  • match 方法,如果不加‘ g ’,則返回null或數(shù)組,數(shù)組存放了與它找到的匹配文本有關(guān)的信息,第一個元素是匹配的文本,其余元素存放子表達式匹配的內(nèi)容
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容