W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
你需要寫一個(gè)復(fù)雜的正則表達(dá)式。
使用CoffeeScript的“heregexes”——可以忽視內(nèi)部空白字符并可以包含注釋的擴(kuò)展正則表達(dá)式。
pattern = ///
^\(?(\d{3})\)? # 采集區(qū)域代碼,忽略可選的括號(hào)
[-\s]?(\d{3}) # 采集前綴,忽略可選破折號(hào)或空格
-?(\d{4}) # 采集行號(hào),忽略可選破折號(hào)
///
[area_code, prefix, line] = "(555)123-4567".match(pattern)[1..3]
# => ['555', '123', '4567']
通過打破復(fù)雜的正則表達(dá)式和注釋重點(diǎn)部分,它們變得更加容易去辨認(rèn)和維護(hù)。例如,現(xiàn)在這是一個(gè)相當(dāng)明顯的做法去改變正則表達(dá)式以容許前綴和行號(hào)之間存在可選的空間。
空白字符在heregexes中是被忽視的——所以如果要為ASCII空格匹配字符,你應(yīng)該怎么做呢?
我們的解決方案是使用@\s@字符組,它能夠匹配空格,制表符和換行符。假如你只想匹配一個(gè)空格,你需要使用\X20來表示字面上的ASCII空格。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: