3.3.2 各種引用的記法

根據(jù)前面的介紹嫌吠,對分組的引用可能出現(xiàn)在三種場合:

  • 在匹配完之后止潘,用group(num)之類的方法提取數(shù)據(jù)
  • 在進(jìn)行正則表達(dá)式替換時,用\num引用
  • 在正則表達(dá)式內(nèi)部辫诅,用\num引用

但是使用\num凭戴,有可能遇到二義性的問題:如果出現(xiàn)了\10,它表示第10個捕獲分組的引用炕矮?還是第一個捕獲分組\1后跟著一個字符0么夫?

例3-28 可能具有二義性的反向引用

re.sub(r'(\d)', r'\10', '123')
# sre_constants.error: invalid group reference

原來\10會被解釋成“第10個捕獲分組匹配的文本”,而不是“第一個捕獲分組匹配的文本之后加上字符0”肤视。如果我們希望做到后面這種情況魏割,python提供了\g<num>表示法,將\10改寫成\g<1>0钢颂,避免了二義性的問題钞它。

例3-29 使用\g<num>消除二義性

re.sub(r'(\d)', r'\g<1>m', '123')  # 1m2m3m

PHP中也有專門的記法解決這類問題,在替換時可以使用\${num}的寫法,準(zhǔn)確標(biāo)注所引用分組的編號遭垛,也就是說\${1}0表示“第一個捕獲分組之后加上0”尼桶,${10}表示“第10個捕獲分組”。而$10锯仪,在第10和捕獲分組存在的情況下泵督,表示該分組;否則視為空字符串庶喜。

Python和PHP中的規(guī)定明確小腊,所以避免了\num的二義性;其他語言卻不是如此久窟,根據(jù)它們的文檔秩冈,引用捕獲分組只有\num(或$num)一種記法,這時\10的二義性就無法避免了斥扛。

比如Java對\num中對num是這樣定義的:**如果是一位數(shù)入问,則引用對應(yīng)的捕獲分組;如果是兩位數(shù)且存在對應(yīng)的捕獲分組時稀颁,引用對應(yīng)的捕獲分組芬失,否則引用一位數(shù)編號的捕獲分組。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末匾灶,一起剝皮案震驚了整個濱河市棱烂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌阶女,老刑警劉巖颊糜,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異张肾,居然都是意外死亡芭析,警方通過查閱死者的電腦和手機(jī)锚扎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門吞瞪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人驾孔,你說我怎么就攤上這事芍秆。” “怎么了翠勉?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵妖啥,是天一觀的道長。 經(jīng)常有香客問我对碌,道長荆虱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮怀读,結(jié)果婚禮上诉位,老公的妹妹穿的比我還像新娘。我一直安慰自己菜枷,他們只是感情好苍糠,可當(dāng)我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著啤誊,像睡著了一般岳瞭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蚊锹,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天瞳筏,我揣著相機(jī)與錄音,去河邊找鬼枫耳。 笑死乏矾,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的迁杨。 我是一名探鬼主播钻心,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼铅协!你這毒婦竟也來了捷沸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤狐史,失蹤者是張志新(化名)和其女友劉穎痒给,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體骏全,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡苍柏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了姜贡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片试吁。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖楼咳,靈堂內(nèi)的尸體忽然破棺而出熄捍,到底是詐尸還是另有隱情,我是刑警寧澤母怜,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布余耽,位于F島的核電站,受9級特大地震影響苹熏,放射性物質(zhì)發(fā)生泄漏碟贾。R本人自食惡果不足惜币喧,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望袱耽。 院中可真熱鬧粱锐,春花似錦、人聲如沸扛邑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔬崩。三九已至恶座,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間沥阳,已是汗流浹背跨琳。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留桐罕,地道東北人脉让。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像功炮,于是被迫代替她去往敵國和親溅潜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,486評論 2 348

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

  • 個人根據(jù)《正則指引》內(nèi)容總結(jié)記錄薪伏,侵刪9隼健! 轉(zhuǎn)載至我的博客 最近看了編譯原理方面的書嫁怀,覺得正則表達(dá)式非常重要设捐,在各...
    J退後閱讀 599評論 0 0
  • 正則表達(dá)式有很多流派,也有很多的特性塘淑,不同的語言支持度也是不一樣的萝招。本篇文章是寫Python中的正則表達(dá)式的用法的...
    Moscow1147閱讀 1,091評論 0 0
  • 姓名:顧林林 公司:上海陳工電控科技有限公司 【411期】反省一組 學(xué)員 日精進(jìn)打卡第162天 【447期】樂觀一...
    紫魘閱讀 145評論 0 0
  • 01這是小北第一次相親槐沼,走到咖啡廳門口她突然放松了下來。還有半個小時召噩,她打算找個靠窗的位置看會書母赵。推開門逸爵,她經(jīng)常坐...
    晴風(fēng)Joy閱讀 725評論 10 18
  • 今天全世界都是老薛復(fù)合的消息具滴。第一眼看到消息,還以為是假的师倔,就趕緊去翻看微博构韵,竟然是真的。眼淚抑制不住的往外涌,我...
    MerryChang閱讀 192評論 0 0