正則表達(dá)式——知識(shí)點(diǎn)

正則表達(dá)式

正則表達(dá)式就是一個(gè)表達(dá)式,用來查找一個(gè)有指定【特點(diǎn)】的表達(dá)式棍矛,規(guī)則匹配的安疗。

正則表達(dá)式定義的方式

var reg = /abc/;
var reg = new RegExp('abc');

正則表達(dá)式使用方法

reg.test(str);
str.match(reg);

特殊屬性 i/g/m

g代表的是global全局匹配

i代表ignoreCase忽略大小寫,

m代表multiline多行匹配够委,

特殊字符

具有特殊含義的字符荐类。

\   轉(zhuǎn)義字符
|   或

方括號(hào)

[abc]  查找方括號(hào)內(nèi)的任意一個(gè)字符
[^abc]   查找任何不在方括號(hào)內(nèi)的字符
[0-9]  查找0-9之間的數(shù)字
[a-z]  查找任何小寫字母
[A-Z]  查找任何大寫字母
[A-z]  查找任何字母
(red|blue|green)  查找指定字符串(子表達(dá)式)

元字符

.       查找單個(gè)字符,除了換行和行結(jié)束符茁帽。
\w      查找單詞字符(匹配字母玉罐、數(shù)字、下劃線潘拨。等價(jià)于'[A-Za-z0-9_]')
\W      查找非單詞字符
\d      查找數(shù)字
\D      查找非數(shù)字
\s      查找空白字符 
\S      查找非空白字符
\b      查找單詞邊界
\B      查找非單詞邊界
\n      查找換行符
\f      查找換頁(yè)符
\r      查找回車符
\t      查找制表符
\v      查找垂直制表符
\uxxx   查找以十六位進(jìn)制數(shù)xxxx規(guī)定的Unicode字符
[\u4e00-\u9fa5] 所有中文字符

量詞


以下均遵循貪婪匹配:

n+      匹配任何包含至少一個(gè)n的字符
n*      匹配任何包含0個(gè)或多個(gè)n的字符
n?      匹配任何0個(gè)或一個(gè)n的字符
n{X}    匹配X個(gè)n的序列字符串
n{X,Y}  匹配X至Y個(gè)n的序列字符串
n$      匹配以n結(jié)尾的字符串
^n      匹配任何以n開頭的字符串
?=n     正向肯定預(yù)查匹配任何后面緊接著指定字符串n的字符串
?!n     正向否定預(yù)查匹配任何其后沒有緊接著指定字符串n的字符串
?<=n    反向肯定預(yù)查匹配任何前面緊跟著指定字符串n的字符串
?<!n    反向否定預(yù)查匹配任何前面沒有緊接著指定字符串n的字符串
非貪婪匹配:
n+?    n*? ...

補(bǔ)充

(?:n)   匹配時(shí)子表達(dá)式中沒有這一項(xiàng)(不補(bǔ)獲分組)

RegExp對(duì)象屬性

global      查看RegExp對(duì)象是否具有g(shù)標(biāo)志
ignoreCase  查看RegExp對(duì)象是否具有i標(biāo)志
multiline   查看RegExp對(duì)象是否具有m標(biāo)志
source      查看正則表達(dá)式源文本
lastIndex   一個(gè)整數(shù)標(biāo)志開始下一次匹配的字符位置(一般與exec一起使用)

RegExp對(duì)象方法

compile    編譯正則表達(dá)式吊输。 (就是改變這個(gè)正則表達(dá)式)
exec       檢索字符串中指定的值。返回找到的值铁追,并確定其位置季蚂。    
test        檢索字符串中指定的值。返回 true 或 false脂信。 

字符串方法


search          檢索正則表達(dá)式相匹配的值
match           查找所有符合正則匹配條件的結(jié)果
replace         替換與正則表達(dá)式匹配的字符串
split           把字符串分割成數(shù)組(注: 用字表達(dá)式分割的話會(huì)保留子表達(dá)式)

相關(guān)面試題

  1. 正則表達(dá)式實(shí)現(xiàn)aabb的形式變成bbaa
  2. 給10000000000三位打點(diǎn) 變成 10.000.000.000
  3. 字符串去重 aaaaaaaaaaaaaaaaaaaaaabbbbbbbbcccccccccc變成abc
  4. 把the-first-name轉(zhuǎn)換成小駝峰式theFirstName
  5. 匹配結(jié)尾的數(shù)字
  6. 統(tǒng)一空格數(shù)
  7. 判斷字符串是不是由數(shù)字構(gòu)成
  8. 刪除字符串中的空格
  9. 身份證號(hào)匹配
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末癣蟋,一起剝皮案震驚了整個(gè)濱河市透硝,隨后出現(xiàn)的幾起案子狰闪,更是在濱河造成了極大的恐慌,老刑警劉巖濒生,帶你破解...
    沈念sama閱讀 211,948評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件埋泵,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡罪治,警方通過查閱死者的電腦和手機(jī)丽声,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來觉义,“玉大人雁社,你說我怎么就攤上這事∩购В” “怎么了霉撵?”我有些...
    開封第一講書人閱讀 157,490評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵磺浙,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我徒坡,道長(zhǎng)撕氧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,521評(píng)論 1 284
  • 正文 為了忘掉前任喇完,我火速辦了婚禮伦泥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘锦溪。我一直安慰自己不脯,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評(píng)論 6 386
  • 文/花漫 我一把揭開白布海洼。 她就那樣靜靜地躺著跨新,像睡著了一般。 火紅的嫁衣襯著肌膚如雪坏逢。 梳的紋絲不亂的頭發(fā)上域帐,一...
    開封第一講書人閱讀 49,842評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音是整,去河邊找鬼肖揣。 笑死,一個(gè)胖子當(dāng)著我的面吹牛浮入,可吹牛的內(nèi)容都是我干的龙优。 我是一名探鬼主播,決...
    沈念sama閱讀 38,997評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼事秀,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼彤断!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起易迹,我...
    開封第一講書人閱讀 37,741評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤宰衙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后睹欲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體供炼,經(jīng)...
    沈念sama閱讀 44,203評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評(píng)論 2 327
  • 正文 我和宋清朗相戀三年窘疮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了袋哼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,673評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡闸衫,死狀恐怖涛贯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蔚出,我是刑警寧澤弟翘,帶...
    沈念sama閱讀 34,339評(píng)論 4 330
  • 正文 年R本政府宣布含懊,位于F島的核電站,受9級(jí)特大地震影響衅胀,放射性物質(zhì)發(fā)生泄漏岔乔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評(píng)論 3 313
  • 文/蒙蒙 一滚躯、第九天 我趴在偏房一處隱蔽的房頂上張望雏门。 院中可真熱鬧,春花似錦掸掏、人聲如沸茁影。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽募闲。三九已至,卻和暖如春愿待,著一層夾襖步出監(jiān)牢的瞬間浩螺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工仍侥, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留要出,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,394評(píng)論 2 360
  • 正文 我出身青樓农渊,卻偏偏與公主長(zhǎng)得像患蹂,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子砸紊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評(píng)論 2 349

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

  • JS正則表達(dá)式一條龍講解传于,從原理和語法到JS正則、ES6正則擴(kuò)展醉顽,最后再到正則實(shí)踐思路 Stinson 關(guān)注 20...
    小杰的簡(jiǎn)書閱讀 655評(píng)論 0 2
  • 自從年前得空寫了兩篇文章之后就開始忙了沼溜,這一忙就是2個(gè)月??。當(dāng)時(shí)信誓旦旦說的定期寫篇博客的計(jì)劃也就泡湯了??徽鼎,不過好...
    景科同學(xué)閱讀 1,153評(píng)論 0 9
  • 初衷:看了很多視頻盛末、文章弹惦,最后卻通通忘記了否淤,別人的知識(shí)依舊是別人的,自己卻什么都沒獲得棠隐。此系列文章旨在加深自己的印...
    DCbryant閱讀 3,993評(píng)論 0 20
  • 正則表達(dá)式功能: 測(cè)試字符串的某個(gè)模式石抡。例如對(duì)一個(gè)輸入字符串進(jìn)行測(cè)試,看在該字符串是否存在一個(gè)電話號(hào)碼模式或一個(gè)信...
    DecadeHeart閱讀 595評(píng)論 0 1
  • 學(xué)期:第377期 隊(duì)呼:感謝二組 姓名:沈一寧 公司: 揚(yáng)州日發(fā)干燥設(shè)備工程有限公司 【日精打卡第45天】 【...
    寧_79e3閱讀 169評(píng)論 0 0