iOS正則表達(dá)式語法全集

NSRegularExpression參照表

正則表達(dá)式語法很簡潔,經(jīng)常會(huì)出現(xiàn)多種符號(hào)結(jié)合使用。下面是常用正則表達(dá)式符號(hào)含義匯總表,可以收藏本網(wǎng)頁備用。

  • 特殊字符
* ? + [ ] ( ) { } ^ $ | \ . / 

如果需要匹配這些特殊符號(hào)氓扛,需要在其前面用\標(biāo)志出。

  • 元字符
字符 描述
[pattern] 匹配pattern中的任一字符论笔。如:[a-z]匹配a-z的任一字符采郎。
. 匹配\n之外的任何字符。
^ 匹配字符的開始位置狂魔。
$ 匹配字符的結(jié)束位置尉剩。
\ 將下一個(gè)字符標(biāo)記為一個(gè)特殊字符、或一個(gè)原義字符毅臊、或一個(gè)向后引用理茎。如:n匹配字符n黑界,\n匹配一個(gè)換行符。序列\\匹配\皂林,\(匹配( 朗鸠。
\b 匹配單詞邊界,邊界發(fā)生在單詞(\w)和非單詞(\W)字符之間的轉(zhuǎn)換處础倍。如:ne\b可以匹配throne中的ne烛占,但不能匹配Chinese中的ne,也能匹配throne!中的ne沟启,因?yàn)?code>!是非單詞忆家。
\B 匹配非單詞邊界。ne\B可以匹配Chinese中的ne德迹,不能匹配throne中的ne芽卿。
\cX 匹配control-X字符。如:\cM匹配一個(gè)control-M或回車符胳搞。X的值必需為a-z或A-Z之一卸例。否則,c將被視為一個(gè)原義的c字符肌毅。
\d 匹配一個(gè)數(shù)字字符筷转,等價(jià)于[0-9]。
\D 匹配一個(gè)非數(shù)字字符悬而,等價(jià)于[^0-9]呜舒。
\f 匹配一個(gè)換頁符。
\n 匹配一個(gè)換行符笨奠。
\s 匹配任何空白符袭蝗,包括空格、制表符艰躺、換頁符等等呻袭。等價(jià)于[\t\n\f\r\p{Z}]
\S 匹配任何非空字符眨八。
\w 匹配包括下劃線的任何單詞字符腺兴。等價(jià)于[a-zA-Z0-9]。
\W 匹配任何非單詞字符廉侧。等價(jià)于[^a-zA-Z0-9]页响。
  • 運(yùn)算符
字符 描述
| 或,A |B匹配AB
* 匹配零次段誊、或多次闰蚕,盡可能多的匹配,即貪婪模式(greediness)连舍。如:zo*能匹配z没陡、zozoo等。*等價(jià)于{0,}盼玄。
+ 一次贴彼、或多次,盡可能多的匹配埃儿。如:zo+能匹配zo以及zoo器仗,但不能匹配z+等價(jià)于{1,}童番。
? 匹配零次精钮、一次,優(yōu)先匹配一次剃斧。(n)?ever可以匹配never以及ever轨香。?等價(jià)于{0,1}
{n} 匹配n次悯衬。n為非負(fù)整數(shù)弹沽,大括號(hào)內(nèi)不能有空格。如:o{2}不能匹配word中的o筋粗,但能匹配Google中的兩個(gè)o策橘。
{n,} 至少匹配n次,盡可能多的匹配娜亿。n為非負(fù)整數(shù)丽已。0{2,}不能匹配word中的o,但能匹配gooooogle中的所有o
{n,m} 至少匹配n次买决,最多匹配m次沛婴,盡可能多的匹配。n和m均為非負(fù)整數(shù)督赤,且n<=m嘁灯。
*? 匹配零次、或多次躲舌。盡可能少的匹配丑婿,即懶惰模式(laziness)。
+? 匹配一次没卸、或多次羹奉,盡可能少的匹配。
?? 匹配零次约计、或一次诀拭,優(yōu)先匹配零次。
{n}? 匹配n次煤蚌。
{n,}? 至少匹配n次耕挨,但不超過整體模式匹配所需细卧。
{n,m}? 匹配n至m次,盡可能少的匹配筒占,但不少于n次酒甸。
*+ 匹配零次、或多次赋铝。第一次遇到時(shí)插勤,盡可能多地匹配,即使整體匹配失敗革骨,也不回溯农尖,稱為Possessive Match。點(diǎn)擊查看possessive match和貪婪匹配區(qū)別良哲。
++ 匹配一次盛卡、或多次。Possessive Match筑凫。
?+ 匹配零次滑沧、或一次。Possessive Match巍实。
{n}+ 匹配n次滓技。
{n,}+ 至少匹配n次。Possessive Match棚潦。
{n,m}+ 匹配n至m次令漂,Possessive Match
(pattern) 匹配pattern丸边,并捕獲這一匹配的捕獲組叠必,該子字符串用于向后引用。
(?:pattern) 匹配pattern但不捕獲這一匹配的子字符串妹窖,也就是說這是一個(gè)不捕獲匹配纬朝,不存儲(chǔ)匹配的子字符串用于向后引用,比捕獲組高效骄呼。
(?=pattern) 正向肯定預(yù)查(Look-ahead assertion)共苛。在任何匹配pattern的字符串開始處匹配查找字符串。這是一個(gè)非獲取匹配谒麦。如:Windows(?=7|8 |8.1 |10)能匹配Windows10中的Windows俄讹,但不能匹配Windowsxp中的Windows哆致。預(yù)查不消耗字符绕德,也就是在一個(gè)匹配發(fā)生后,在最后一次匹配之后立即開始下一次匹配的搜索摊阀,而不是從包含預(yù)查的字符之后開始耻蛇。
(?!pattern) 正向否定預(yù)查( Negative look-ahead assertion)踪蹬,在任何不匹配pattern的字符串開始處匹配查找字符串。這是一個(gè)非獲取匹配臣咖。如:Windows(?!7|8|8.1 |10)能匹配Windowsxp中的Windows跃捣,但不能匹配Windows10中的Windows。預(yù)查不消耗字符夺蛇。
(?<=pattern) 反向肯定預(yù)查(Look-behind assertion)疚漆,與正向肯定預(yù)查類似,只是方向相反刁赦。如:(?<=7|8|8.1 |10)Windows能匹配7Windows中的Windows娶聘,但不能匹配xpWindows中的Windows
(?<!pattern) 反向否定查詢(Negative Look-behind assertion)甚脉,與正向否定預(yù)查類似丸升,只是方向相反。如:(?<!7 |8 |8.1 |10)Windows能匹配xpWindows中的Windows牺氨,但不能匹配7Windows中的Windows狡耻。
  • 其它
符號(hào) 描述
\n 向后引用,匹配第n個(gè)捕獲組猴凹。其中夷狰,1<= 正整數(shù)n <=捕捉組總數(shù)。
$n n為非負(fù)整數(shù)郊霎,向后引用第n個(gè)捕捉組孵淘,0<= n <=捕捉組總數(shù)。$后沒有數(shù)字時(shí)該符號(hào)沒有任何特殊含義歹篓。
  • 優(yōu)先級(jí)

在這些運(yùn)算符同時(shí)出現(xiàn)時(shí)瘫证,按照下面的優(yōu)先級(jí)進(jìn)行操作。

優(yōu)先級(jí) 符號(hào)
最高 \
( )庄撮、(?: )背捌、(?= )、[ ]
*洞斯、+毡庆、?、{n}烙如、{n,}么抗、{n,m}
^、$亚铁、中介字符
最低 |

如果想要系統(tǒng)了解正則表達(dá)式蝇刀,請(qǐng)查看我的另一篇文章正則表達(dá)式NSRegularExpression

本文地址:http://www.reibang.com/p/3323adcff24f
歡迎更多指正:https://github.com/pro648/tips/wiki

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末徘溢,一起剝皮案震驚了整個(gè)濱河市吞琐,隨后出現(xiàn)的幾起案子捆探,更是在濱河造成了極大的恐慌,老刑警劉巖站粟,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件黍图,死亡現(xiàn)場離奇詭異,居然都是意外死亡奴烙,警方通過查閱死者的電腦和手機(jī)助被,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來切诀,“玉大人恰起,你說我怎么就攤上這事≈耗粒” “怎么了检盼?”我有些...
    開封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長翘单。 經(jīng)常有香客問我吨枉,道長,這世上最難降的妖魔是什么哄芜? 我笑而不...
    開封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任貌亭,我火速辦了婚禮,結(jié)果婚禮上认臊,老公的妹妹穿的比我還像新娘圃庭。我一直安慰自己,他們只是感情好失晴,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開白布剧腻。 她就那樣靜靜地躺著,像睡著了一般涂屁。 火紅的嫁衣襯著肌膚如雪书在。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天拆又,我揣著相機(jī)與錄音儒旬,去河邊找鬼。 笑死帖族,一個(gè)胖子當(dāng)著我的面吹牛栈源,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播竖般,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼甚垦,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起制轰,我...
    開封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎胞谭,沒想到半個(gè)月后垃杖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡丈屹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年调俘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片旺垒。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡彩库,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出先蒋,到底是詐尸還是另有隱情骇钦,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布竞漾,位于F島的核電站眯搭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏业岁。R本人自食惡果不足惜鳞仙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望笔时。 院中可真熱鬧棍好,春花似錦、人聲如沸允耿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽较锡。三九已至提澎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間念链,已是汗流浹背盼忌。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留掂墓,地道東北人谦纱。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像君编,于是被迫代替她去往敵國和親跨嘉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

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