正則表達式5-分組突擊

每一個小鳥都很憤怒民效,因為我們還不會分組作戰(zhàn)

我們還是用小鳥們做例子,來學(xué)會使用分組

var str = 
'【紅色小鳥】(紅火)體型小,重量輕鹃锈,攻擊弱,無特效瞧预,可在滾動時消滅綠豬屎债。適合攻擊玻璃與木頭仅政,攻擊混凝土較弱。(關(guān)卡1-1)\n【藍色小鳥】(藍冰)體型極小盆驹,重量輕圆丹,攻擊弱,可以變成3個躯喇。攻擊玻璃較強辫封,攻擊木頭與混凝土較弱。(關(guān)卡1-10)';
str.match(/^(【[\u4e00-\u9fa5]+】)(([\u4e00-\u9fa5]+))([\u4e00-\u9fa50-9廉丽,倦微。]+)([\u4e00-\u9fa5]+(\d+\-\d+))$/gm);
str.split(/^(【[\u4e00-\u9fa5]+】)(([\u4e00-\u9fa5]+))([\u4e00-\u9fa50-9,正压。]+)([\u4e00-\u9fa5]+(\d+\-\d+))$/gm);


我們希望把格式變成

"【紅色小鳥】的外號是(紅火),出現(xiàn)在關(guān)卡1-1\n【藍色小鳥】的外號是(藍冰),出現(xiàn)在關(guān)卡1-10"

分析字符串

  1. 需要進行多行全局搜索欣福,前后需要無字符,所以要用上gm^$焦履。
  2. 需要取出名字拓劝,【[\u4e00-\u9fa5]+】
  3. 需要拿到外號,([\u4e00-\u9fa5]+)
  4. 需要拿到能力嘉裤,[\u4e00-\u9fa50-9郑临,。]+
  5. 需要拿到關(guān)卡屑宠,[\u4e00-\u9fa5]+(\d+-\d+)
    把以上拼接在一起就是
/^(【[\u4e00-\u9fa5]+】)(([\u4e00-\u9fa5]+))([\u4e00-\u9fa50-9厢洞,。]+)([\u4e00-\u9fa5]+(\d+\-\d+))$/gm

分組能干嘛呢

我們知道()是用來分組的典奉,可是分組有什么用呢躺翻。上面分別給2,3秋柄,4获枝,5步的正則都加上了()蠢正。我們可以在string的replace函數(shù)中使用分組骇笔。看一下這個代碼嚣崭。

str.replace(/^(【[\u4e00-\u9fa5]+】)(([\u4e00-\u9fa5]+))([\u4e00-\u9fa50-9笨触,。]+)([\u4e00-\u9fa5]+(\d+\-\d+))$/gm, "$1的外號是$2,出現(xiàn)在關(guān)卡$4");

這樣我們的目的已經(jīng)達到了雹舀,輸出了"【紅色小鳥】的外號是(紅火),出現(xiàn)在關(guān)卡1-1\n【藍色小鳥】的外號是(藍冰),出現(xiàn)在關(guān)卡1-10"芦劣。

不捕獲的分組

我們可以注意到上面使用$4引用到了關(guān)卡,如何使用$3就引用到呢说榆?

str.replace(/^(【[\u4e00-\u9fa5]+】)(([\u4e00-\u9fa5]+))(?:[\u4e00-\u9fa50-9虚吟,寸认。]+)([\u4e00-\u9fa5]+(\d+\-\d+))$/gm, "$1的外號是$2,出現(xiàn)在關(guān)卡$3");

?:表示不捕獲的分組,我們在能力分組上(?:[\u4e00-\u9fa50-9串慰,偏塞。]+)加上了不捕獲的標志。

好用的工具

一旦正則表達式復(fù)雜起來邦鲫,很難看懂灸叼,這時候利用一些工具則非常有用

http://www.regexr.com/

上面這個網(wǎng)站可以用來分析正則表達式。有高亮的功能哦庆捺」沤瘢可惜對中文支持的不是很好。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末滔以,一起剝皮案震驚了整個濱河市捉腥,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌醉者,老刑警劉巖但狭,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異撬即,居然都是意外死亡立磁,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門剥槐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來唱歧,“玉大人,你說我怎么就攤上這事粒竖÷溃” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵蕊苗,是天一觀的道長沿后。 經(jīng)常有香客問我,道長朽砰,這世上最難降的妖魔是什么尖滚? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮瞧柔,結(jié)果婚禮上漆弄,老公的妹妹穿的比我還像新娘。我一直安慰自己造锅,他們只是感情好撼唾,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著哥蔚,像睡著了一般倒谷。 火紅的嫁衣襯著肌膚如雪蛛蒙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天渤愁,我揣著相機與錄音宇驾,去河邊找鬼。 笑死猴伶,一個胖子當(dāng)著我的面吹牛课舍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播他挎,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼筝尾,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了办桨?” 一聲冷哼從身側(cè)響起筹淫,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎呢撞,沒想到半個月后损姜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡殊霞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年摧阅,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绷蹲。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡棒卷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出祝钢,到底是詐尸還是另有隱情比规,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布拦英,位于F島的核電站蜒什,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏疤估。R本人自食惡果不足惜灾常,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望做裙。 院中可真熱鬧岗憋,春花似錦肃晚、人聲如沸锚贱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拧廊。三九已至监徘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間吧碾,已是汗流浹背凰盔。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留倦春,地道東北人户敬。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像睁本,于是被迫代替她去往敵國和親尿庐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359

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

  • 正則表達式到底是什么東西呢堰?字符是計算機軟件處理文字時最基本的單位抄瑟,可能是字母,數(shù)字枉疼,標點符號皮假,空格,換行符骂维,漢字等...
    獅子挽歌閱讀 2,150評論 0 9
  • iOS中使用正則表達式就不得不提NSRegularExpression惹资,所以我們需要先搞清楚什么是NSRegula...
    sunmumu1222閱讀 2,348評論 0 4
  • 初衷:看了很多視頻、文章航闺,最后卻通通忘記了布轿,別人的知識依舊是別人的,自己卻什么都沒獲得来颤。此系列文章旨在加深自己的印...
    DCbryant閱讀 4,017評論 0 20
  • tags: 正則表達式categories: JavaScript歡迎點擊我的博客原文 前端會遇到很多字符串驗證問...
    淺茉Sara閱讀 771評論 1 2
  • 夢里我踩碎了眼鏡 哭濕了枕頭 今天怎么有那么多婚禮 現(xiàn)在你在干什么呢 我要不要買點啤酒繼續(xù)睡過去 十一點半 時隔好...
    愛發(fā)牢騷的上進青年閱讀 127評論 0 0