javascript正則表達(dá)式

什么是貪婪模式和非貪婪模式?

  • 貪婪與非貪婪模式影響的是被量詞修飾的子表達(dá)式的匹配行為填硕,貪婪模式在整個表達(dá)式匹配成功的前提下麦萤,盡可能多的匹配鹿鳖,而非貪婪模式在整個表達(dá)式匹配成功的前提下,盡可能少的匹配壮莹。非貪婪模式只被部分NFA引擎所支持翅帜。
  1. 屬于貪婪模式的量詞,也叫做匹配優(yōu)先量詞命满,包括:
    “{m,n}”藕甩、“{m,}”“?”周荐、“*”“+”狭莱。
    在一些使用NFA引擎的語言中,在匹配優(yōu)先量詞后加上“?”概作,即變成屬于非貪婪模式的量詞腋妙,也叫做忽略優(yōu)先量詞,包括:
    “{m,n}?”讯榕、“{m,}?”骤素、“??”“*?”“+?”愚屁。
    從正則語法的角度來講济竹,被匹配優(yōu)先量詞修飾的子表達(dá)式使用的就是貪婪模式,如“(Expression)+”霎槐;被忽略優(yōu)先量詞修飾的子表達(dá)式使用的就是非貪婪模式送浊,如“(Expression)+?”。
    一個例子
    源字符串:aa<div>test1</div>bb<div>test2</div>cc
  • 貪婪模式
    正則表達(dá)式一:<div>.*</div>
    匹配結(jié)果一:<div>test1</div>bb<div>test2</div>
  • 非貪婪模式
    正則表達(dá)式二:<div>.*?</div>
    匹配結(jié)果二:<div>test1</div>

寫一個函數(shù)isValidUsername(str)丘跌,判斷用戶輸入的是不是合法的用戶名(長度6-20個字符袭景,只能包括字母、數(shù)字闭树、下劃線)耸棒。

function isValidUsername(str){
    reg=/^\w{6,20}$/g
    return reg.test(str)
}

寫一個函數(shù)isPhoneNum(str),判斷用戶輸入的是不是手機(jī)號报辱。

function isPhoneName(str){
    reg=/^1[3578]\d{9}$/g
    return reg.test(str)
}

寫一個函數(shù)isEmail(str)与殃,判斷用戶輸入的是不是郵箱。

function isEmail(str){
    reg= /^([a-zA-Z0-9_\-])+@([a-zA-Z0-9_\-])+(\.[a-zA-Z0-9_\-])+$/
    return reg.test(str)
}

寫一個函數(shù)trim(str)碍现,去除字符串兩邊的空白字符幅疼。

function trim(str){
    return str.replace(/(^\s*)|(\s*)$/g,"")
}

\d\w鸵赫,\s衣屏,[a-zA-Z0-9]\b辩棒,.狼忱,*膨疏,+?钻弄,x{3}佃却,^$分別是什么?

  • \d窘俺,等價于[0-9]饲帅,匹配數(shù)字字符
  • \w,等價于[a-zA-Z_0-9]瘤泪,匹配單詞字符灶泵,字母數(shù)字下劃線
  • \s,等價于[\t\n\x0B\f\r]对途,匹配空白字符
  • \b赦邻,匹配單詞邊界
  • .,等價于[^\r\n]实檀,除了回車符和換行符之外的所有字符
  • *惶洲,匹配任意多個(包括0個)
  • +,匹配一個或多個(最少出現(xiàn)一次)
  • ?膳犹,匹配0個或一個(最多出現(xiàn)一次)
  • x{3}恬吕,匹配x出現(xiàn)3次
  • ^,匹配開頭须床,如果放在中括號內(nèi)部的開頭铐料,則代表匹配不屬于中括號內(nèi)部任意一個的一個字符
  • $匹配結(jié)尾
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市侨颈,隨后出現(xiàn)的幾起案子余赢,更是在濱河造成了極大的恐慌,老刑警劉巖哈垢,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異扛拨,居然都是意外死亡耘分,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門绑警,熙熙樓的掌柜王于貴愁眉苦臉地迎上來求泰,“玉大人,你說我怎么就攤上這事计盒】势担” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵北启,是天一觀的道長卜朗。 經(jīng)常有香客問我拔第,道長,這世上最難降的妖魔是什么场钉? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任蚊俺,我火速辦了婚禮,結(jié)果婚禮上逛万,老公的妹妹穿的比我還像新娘泳猬。我一直安慰自己,他們只是感情好宇植,可當(dāng)我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布得封。 她就那樣靜靜地躺著,像睡著了一般指郁。 火紅的嫁衣襯著肌膚如雪呛每。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天坡氯,我揣著相機(jī)與錄音晨横,去河邊找鬼。 笑死箫柳,一個胖子當(dāng)著我的面吹牛手形,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播悯恍,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼库糠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了涮毫?” 一聲冷哼從身側(cè)響起瞬欧,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎罢防,沒想到半個月后艘虎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡咒吐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年野建,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恬叹。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡候生,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出绽昼,到底是詐尸還是另有隱情唯鸭,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布硅确,位于F島的核電站目溉,受9級特大地震影響明肮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜停做,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一晤愧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蛉腌,春花似錦官份、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至河咽,卻和暖如春钠右,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背忘蟹。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工飒房, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人媚值。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓狠毯,卻偏偏與公主長得像,于是被迫代替她去往敵國和親褥芒。 傳聞我的和親對象是個殘疾皇子嚼松,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,864評論 2 354

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