在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C/ 分枝條件
后向引用
零寬斷言
如何寫出高效率的正則表達(dá)式
平衡組/遞歸匹配
字符轉(zhuǎn)義
元字符
測(cè)試正則表達(dá)式
什么是正則表達(dá)式
重復(fù)
貪婪與懶惰
字符類
常用正則表達(dá)式
詳細(xì)語法
表達(dá)式全集
處理選項(xiàng)
負(fù)向零寬斷言
反義
分枝條件
注釋
分組
入門

分枝條件

不幸的是,剛才那個(gè)表達(dá)式也能匹配 010)12345678 或 (022-87654321 這樣的“不正確”的格式。要解決這個(gè)問題,我們需要用到分枝條件。正則表達(dá)式里的分枝條件指的是有幾種規(guī)則,如果滿足其中任意一種規(guī)則都應(yīng)該當(dāng)成匹配,具體方法是用|把不同的規(guī)則分隔開。聽不明白?沒關(guān)系,看例子:

0\d{2}-\d{8}|0\d{3}-\d{7}這個(gè)表達(dá)式能匹配兩種以連字號(hào)分隔的電話號(hào)碼:一種是三位區(qū)號(hào),8 位本地號(hào)(如010-12345678),一種是 4 位區(qū)號(hào),7 位本地號(hào)(0376-2233445)。

(?0\d{2}\)?[- ]?\d{8}|0\d{2}[- ]?\d{8}這個(gè)表達(dá)式匹配3位區(qū)號(hào)的電話號(hào)碼,其中區(qū)號(hào)可以用小括號(hào)括起來,也可以不用,區(qū)號(hào)與本地號(hào)間可以用連字號(hào)或空格間隔,也可以沒有間隔。你可以試試用分枝條件把這個(gè)表達(dá)式擴(kuò)展成也支持4位區(qū)號(hào)的。

\d{5}-\d{4}|\d{5}這個(gè)表達(dá)式用于匹配美國的郵政編碼。美國郵編的規(guī)則是 5 位數(shù)字,或者用連字號(hào)間隔的9位數(shù)字。之所以要給出這個(gè)例子是因?yàn)樗苷f明一個(gè)問題:使用分枝條件時(shí),要注意各個(gè)條件的順序。如果你把它改成\d{5}|\d{5}-\d{4}的話,那么就只會(huì)匹配 5 位的郵編(以及 9 位郵編的前 5 位)。原因是匹配分枝條件時(shí),將會(huì)從左到右地測(cè)試每個(gè)條件,如果滿足了某個(gè)分枝的話,就不會(huì)去再管其它的條件了。

上一篇:后向引用下一篇:貪婪與懶惰