正則表達式中的常用特殊字符

字符:\ss

1.反斜杠表示下一個字符是特殊的

2.反斜杠也可以表示將其后的特殊字符,轉(zhuǎn)義為字面量

const regA = /abc\$/g;

const regB = /abc$/g;

let str = 'abher4tgabc$';

console.log(regA.test(str));? ?// true

console.log(regB.test(str));? // false




字符:^

1.表示字符串開頭要以^后面的字符集合匹配。匹配輸入的開始。

const regB = /^abc/;

let str1 = 'abcargrgabher4tg';

let str2 = 'aoiwjabcgegn';

console.log(regB.test(str1))? ? ?//true

console.log(regB.test(str2))? ? ?// false





字符:$

1.匹配輸入的結(jié)束

const regC = /abc$/;

let str1 = 'aereabc';

let str2 = 'abcdrgr';

console.log(regC.test(str1))? //true

console.log(regC.test(str2))? // false




字符:n*

1.匹配任何?包含零個或多個 n 的字符串。。等價于 {0,}。

const regD = /abc*/;

const regD2 = /abc{0,}/;

let str1 = 'abc';

let str2 = 'ab';

let str3 = 'bc'

console.log(regD.test(str1))? ? ?// true

console.log(regD.test(str1))? ?? // true

console.log(regD.test(str3))? ???// false

console.log(regD2.test(str2))? ? // true

console.log(regD2.test(str2))? ?? // true





字符: n+

1.匹配任何包含至少一個 n?的字符串。。等價于 {1,}。

const regE = /abc+/;

let str1 = 'abccd';

let str2 = 'abc';

let str3 = 'ab';

console.log(regE.test(str1));? ? // true

console.log(regE.test(str2));? ?//true

console.log(regE.test(str3));? ?//false





字符:n?

1.匹配任何?包含零個或一個??n 的字符串。。等價于 {0,1}。

2.如果緊跟在任何量詞 *、 +、??或 {} 的后面,將會使量詞變?yōu)?b>非貪婪的(匹配盡量少的字符),和缺省使用的貪婪模式(匹配盡可能多的字符)正好相反。

const regF = /le?/;

let str1 = 'anglab';

let str2 = 'ang';

console.log(regF.test(str1))? ? //true

console.log(regF.test(str2))? ?//false




字符:.

1.表示除換行符之外的單個任何字符

const regH = /.b/;

let str1 = 'abc';

let str2 = 'erbc';

console.log(regH.test(str1))? ?// true

console.log(regH.test(str2))? ?//true





字符:()? ,分組

字符: a | b,? ? ?| 或者,匹配a或者b 字符的字符串

const regA = /(\w+)(@\w+)(\.com)/g;

let str1 = '867606984@qq.com'

console.log(regA.test(str1));? //? true


const regB = /(a|b)(@\w+)(\.com)/gi;

let str2 = 'A@qq.com';

console.log(regB.test(str2));? ? //true




字符:(? : x)

1.匹配包含 x (x代表字符集合, 例如abc) 的字符串

const regL = /(?:foo){1,2}/;

let str1 = 'foo';

let str2 = 'foosefe';

let str3 = 'fo';

console.log(regL.test(str1));? ?// true

console.log(regL.test(str2));? ? // true

console.log(regL.test(str3));? ?//? ?false




字符:x(?:y)

匹配 x后面緊跟y(y代表字符集合) 的字符串

const regQ = /foo(?:abc | abd)/;

let str1 = 'fooabc';

let str2 = 'fooabd';

let str3 = 'fooab';

console.log(regQ.test(str1));? ?//true

console.log(regQ.test(str2));? ?//true

console.log(regQ.test(str3));? ?//false




字符:x(?! y)

匹配 x后面不跟這y(y代表字符集合) 的字符串

const regW = /foo(?!abc)/

let str1 = 'foo';

let str2 = 'fooa';

let str3 = 'fooabc';

console.log(regW.test(str1))? ?// true

console.log(regW.test(str2))? ?//true

console.log(regW.test(str3))




\s : 空格

\S : 非空格

\d : 數(shù)字

\D : 非數(shù)字

\w : 字符 ( 字母 ,數(shù)字,下劃線_ )

\W : 非字母、數(shù)組、下劃線




字符:{n}

1.表示{}前面的字符要出現(xiàn)n次,才能成功匹配字符串

字符{n , m}

1.表示{}前面的字符至少出現(xiàn)n次,最多出現(xiàn)m次,才能成功匹配字符串

const regA = /[g]{2}/;

let str1 = 'agga15245';

let str2 = 'gae';

console.log(regA.test(str1))? ?//true

console.log(regA.test(str2))? ?//false




字符: [? ]?

1.[] 內(nèi)是一個字符范圍。例如? ?[ abcd ] 等價于=> [ a-d]

2.[ ^abc] 里^表示一個字符不再指定范圍內(nèi)。

const regB = /[a-z]{2,}/;

const regC = /[^a-z]{2,}/

let str1 = 'age';

console.log(regB.test(str1)? ? //true

console.log(regC.test(str1))? ? //false




\n 表示重復(fù)的某個子項

\1 重復(fù)的第一個子項

\2 重復(fù)的第二個子項

/ (a) (b) (c) \1/-----匹配 abca

/ (a) (b) (c) \2/------匹配 abcb

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,345評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,494評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,283評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,953評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,714評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,186評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,255評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,410評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,940評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,776評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,976評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,518評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,210評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,642評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,878評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,654評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,958評論 2 373

推薦閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,184評論 0 13
  • 1.匹配以數(shù)字結(jié)尾的;正則:/\d+$/g;2.去掉空格; 3.判斷字符串是不是由數(shù)字組成; 4.電話號碼正則分析...
    胖先森閱讀 1,182評論 0 6
  • 參考博文:http://www.cnblogs.com/tugenhua0707/p/5037811.html 1...
    createEngine閱讀 670評論 0 0
  • 前言 作為一個程序員,要出去裝逼,手中必備的技能就是正則表達式。程序員的正則表達式,醫(yī)生的處方和道士的鬼畫符,都是...
    Layzimo閱讀 563評論 0 6
  • 初為人母,沒有經(jīng)驗,胡思亂想幾乎成了我們的標(biāo)簽。 妞寶小時候高燒驚厥,簡直要嚇?biāo)牢伊耍挥挟?dāng)媽媽...
    4點半的恩賜閱讀 324評論 0 0