摘要:元字符正則表達(dá)式有兩種基本字符類型組成。原義文本字符元字符元字符是在正則表達(dá)式中你有特殊含義的非字母字符。字符類可以使用元字符來構(gòu)建一個(gè)簡單的類。表達(dá)式把字符歸為一類,表達(dá)式可以匹配這類字符。表達(dá)式表示不是或或的內(nèi)容。
前兩天餓了么面試的時(shí)候問到了正則,這里有時(shí)間簡單總結(jié)一下。(那天才知道很多大大都是硬著頭皮看著API懟正則的 - -)
RegExp對象JavaScript通過內(nèi)置對象RegExp支持正則表達(dá)式
RegExp對象實(shí)例化字面量
var pattern = /is/g;
構(gòu)造函數(shù)
var pattern = new RegExp("is", "g");修飾符
g: global,全文搜索,如果不添加,搜索到第一個(gè)匹配就停止。
i: ignore case,忽略大小寫,默認(rèn)大小寫敏感。
m: mutiple lines,多行搜索。
元字符
正則表達(dá)式有兩種基本字符類型組成。
原義文本字符
元字符
元字符是在正則表達(dá)式中你有特殊含義的非字母字符。
* + ? $ ^ . | ( ) { } [ ]
字符類可以使用元字符[]來構(gòu)建一個(gè)簡單的類。
所謂類是指符合某些特征的對象,泛指,而不是特指某個(gè)字符。
表達(dá)式[abc]把字符a、b、c歸為一類,表達(dá)式可以匹配這類字符。(相當(dāng)于或)
字符類取反
使用^創(chuàng)建反向類/負(fù)向類。
反向類的內(nèi)容是不屬于某類的內(nèi)容。
表達(dá)式[^abc]表示不是a或b或c的內(nèi)容。
范圍類可以使用[a-z]表示從a-z的任意字符。(閉區(qū)間)
在[]內(nèi)組成的類內(nèi)部是可以連寫的[a-zA-Z]。
預(yù)定義類字符 | 含義 |
---|---|
. | 除了回車符和換行符之外的所有字符 |
d | 數(shù)字字符 |
D | 非數(shù)字字符 |
s | 空白符 |
S | 非空白符 |
w | 單詞字符(字母、數(shù)字下劃線) |
W | 非單詞字符 |
字符 | 含義 |
---|---|
^ | 以xxx開始 |
$ | 以xxx結(jié)束 |
b | 單詞邊界 |
B | 非單詞邊界 |
字符 | 含義 |
---|---|
? | 出現(xiàn)0次或一次 |
+ | 出現(xiàn)1次或多次 |
* | 出現(xiàn)0次或多次 |
{n} | 出現(xiàn)n次 |
{n,m} | 出現(xiàn)n-m次 |
{n,} | 至少出現(xiàn)n次 |
讓正則表達(dá)式盡可能少的匹配,也就是說一旦成功匹配不再繼續(xù)嘗試就是非貪婪模式。
做法是在量詞后面加上?
分組"123456789".match(/d{3,5}?/g);
使用()可以達(dá)到分組的功能使量詞作用于分組
或使用|可以達(dá)到或的效果。
對象屬性golbal:會(huì)否全文搜索
ignore case:是否大小寫敏感
multiline:多行搜索
lastIndex:是當(dāng)前表達(dá)式匹配內(nèi)容的最后一個(gè)字符的下一個(gè)位置
source:正則表達(dá)式的文本字符串
RegExp.prototype.test(str)用于測試字符串參數(shù)中是否存在匹配正則表達(dá)式模式的字符串
如果存在返回true,否則返回false
RegExp.prototype.exec(str)exec() 方法在一個(gè)指定字符串中執(zhí)行一個(gè)搜索匹配。返回一個(gè)結(jié)果數(shù)組或 null。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/83038.html
摘要:本文內(nèi)容共正則表達(dá)式火拼系列正則表達(dá)式回溯法原理學(xué)習(xí)正則表達(dá)式,是需要懂點(diǎn)兒匹配原理的。正則表達(dá)式迷你書問世了讓幫你生成和解析參數(shù)字符串最全正則表達(dá)式總結(jié)驗(yàn)證號手機(jī)號中文郵編身份證地址等是正則表達(dá)式的縮寫,作用是對字符串執(zhí)行模式匹配。 JS 的正則表達(dá)式 正則表達(dá)式 一種幾乎可以在所有的程序設(shè)計(jì)語言里和所有的計(jì)算機(jī)平臺上使用的文字處理工具。它可以用來查找特定的信息(搜索),也可以用來查...
摘要:選擇分組和引用正則表達(dá)式的語法還包括指定選擇項(xiàng)子表達(dá)式分組和引用前一子表達(dá)式的特殊字符。帶圓括號的表達(dá)式的另一個(gè)用途是允許在同一正則表達(dá)式的后部引用前面的子表達(dá)式。 正則表達(dá)式(regular expression)是一個(gè)描述字符模式的對象。JavaScript的 RegExp類 表示正則表達(dá)式,String和RegExp都定義了方法,后者使用正則表達(dá)式進(jìn) 行強(qiáng)大的模式匹配和文本檢索與...
摘要:如果遇到非常的復(fù)雜的匹配,正則表達(dá)式的優(yōu)勢就更加明顯了。關(guān)于正則表達(dá)式書寫規(guī)則,可查看,上面說的很清楚了,我就不貼出來了。替換與正則表達(dá)式匹配的子串,并返回替換后的字符串。結(jié)語正則表達(dá)式并不難,懂了其中的套路之后,一切都變得簡單了。 前言 在正文開始前,先說說正則表達(dá)式是什么,為什么要用正則表達(dá)式?正則表達(dá)式在我個(gè)人看來就是一個(gè)瀏覽器可以識別的規(guī)則,有了這個(gè)規(guī)則,瀏覽器就可以幫我們判斷...
摘要:正則表達(dá)式的意義中的正則表達(dá)式使用表示,可以使用構(gòu)造函數(shù)來創(chuàng)建對象,不過對象更多的是通過一種特殊的直接量語法來創(chuàng)建。用構(gòu)造函數(shù)也可以定義一個(gè)與之等價(jià)的正則表達(dá)式,代碼如下正則表達(dá)式的模式規(guī)則是由一個(gè)字符序列組成的。 正則表達(dá)式的模式匹配 正則表達(dá)式(regular expression)是一個(gè)描述字符模式的對象。javascript的RegExp對象表示正則表達(dá)式,String和Reg...
Javascript的正則表達(dá)式是前端中比較重要的部分,正則表達(dá)式主要用于字符串處理,表單驗(yàn)證等場合,實(shí)用高效,文章主要對JavaScript中的正則的學(xué)習(xí)與總結(jié) 正則表達(dá)式的定義 正則表達(dá)式:是一個(gè)描述字符模式的對象,JavaScrip中正則表達(dá)式用RegExp對象表示,可以使用RegExp構(gòu)造函數(shù)來創(chuàng)建正則對象 正則表達(dá)式的創(chuàng)建 1.字面量創(chuàng)建 var reg = /[a-z]/; 2.構(gòu)...
摘要:返回是一個(gè)只讀的布爾值,看這個(gè)正則表達(dá)式是否帶有修飾符。方法,它的參數(shù)是一個(gè)字符串,用對某個(gè)字符串進(jìn)行檢測,如果包含正則表達(dá)式的一個(gè)匹配結(jié)果,則返回,否則返回??偨Y(jié)這次主要是說說,中正則表達(dá)式對象的個(gè)屬性,而最需要注意的就是屬性了。 說明 這篇文章,主要和大家聊聊JavaScript中RegExp對象的屬性。 解釋 每個(gè)RegExp對象都包含5個(gè)屬性,source、global、ign...
閱讀 2913·2021-11-22 15:11
閱讀 3635·2021-09-28 09:43
閱讀 2959·2019-08-30 13:05
閱讀 3495·2019-08-30 11:18
閱讀 1510·2019-08-29 16:34
閱讀 1423·2019-08-29 13:53
閱讀 2993·2019-08-29 11:03
閱讀 1729·2019-08-29 10:57