新手请教:正则表达式反向引用的疑问
各位前辈,大家好!我是菜鸟,有事请教。
我最近在看《细说PHP》,看书里讲,正则表达式里的每个子表达式(用()包含起来的),在不添加任何非捕获元字符的情况下,是按照从左至右,每个子表达式的匹配结果存进缓冲区,并用编号\1至\99引用,不知道我这么描述对不对。现在有两个问题:
1、书上说,使用编号引用子表达式,要在编号前加反斜线转义,这条很纠结,我试的是不需要的,是不是跟什么版本有关系?
2、表达式中,某个子表达式加了元字符?:,这样就不会存储匹配结果,那么缓冲区的编号就不会加一,也就没办法用编号来引用,那么,可以重复调用这个子表达式吗?
感谢!
回复讨论(解决方案)
你先举例说明 是不需要的
感谢版主回复。我在PHP里,用preg_match做匹配,模式是'^([a-zA-Z]*)\d+\1$',就是想匹配字母+数字+字母,匹配字符串'demo123demo'返回yes。如果在模式里的编号前添加反斜线,就返回false了。
上面是我自己试的。然后我百度了几个“正则表达式参考手册”,几个的例子里都是不用添加的。
附链接(不知道贴链接会不会违反发帖守则):https://translate.google.com.hk/?hl=zh-CN&tab=wT,里面第6点的例子是没有的。
好吧这个问题我只是想扩展一下确定是不是存在“版本差异”的问题,我真正迫切想得到答案的是第二个问题,麻烦版主了!
重复调用跟引用是一个意思吗? 如果是的话,你不是知道答案了吗。
/^([a-zA-Z]*)\d+ \1$/
这不就是 在编号前加反斜线转义 吗?
你的第二问是这个意思吗?
/^(?=[a-zA-Z]+)\d+(?=[a-zA-Z]+)$/
哈哈,这么一来就明白了。荣幸荣幸两位版主都出来了。
第一个加反斜线转义,我看的那本书上写的是编号本身就是\1到\99,要引用时要再加一条反斜线,也就是'\\1',书上的实例就是这样,昨晚感觉不对,才发现再加一条反斜线就是匹配字符串'\1'。看来书不能全信呀
十分感谢两位!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

霧鎖王國是一款開放世界的遊戲,玩家可以扮演火焰之子進行生存和探索。遊戲融合了動作RPG挑戰的特色娛樂,為玩家帶來無盡的驚喜和歡樂。在遊戲中,玩家可以探索資源、環境和武器等內容。對於一些新手玩家,可能會對如何上手遊戲感到好奇。在這期的介紹和分享中,我們將為大家提供一些相關的入門指南。霧鎖王國新手入門技巧被瘴氣籠罩區域的危險等級不同在探索的過程中會逐漸解鎖地圖的新區域,並且能看到被瘴氣籠罩區域的位置。地圖上會以兩種顏色來區分,藍色區域是可以短暫進入的,根據角色能力等級高低,可停留的時間也會有所區別

錨點降臨是一款擁有高畫質美少女二次元主題的3D回合卡牌遊戲,提供了豐富角色的精彩組合可供玩家來探索和體驗,擁有許多精品陣容的強力搭配,新人玩家也是好奇新手池有哪些強力角色推薦,以下來看看新手十連金的選擇參考!錨點降臨新手池強力角色推薦第一個十連選艾莉絲,她主要是一個單體雷系爆發角色,單體輸出非常爆炸的,對新人的體驗也會是非常的友善的,所以十分推薦選取。 10抽必金建議選擇「艾莉絲」+「羚角」的組合,艾莉絲是最值得選的金皮雷屬性輸出角色,比新手卡池中的另外2個角色要強得不是一星半點。艾莉絲可以透過特

PHP正規表示式驗證:數位格式偵測在編寫PHP程式時,經常需要對使用者輸入的資料進行驗證,其中一個常見的驗證是檢查資料是否符合指定的數字格式。在PHP中,可以使用正規表示式來實現這種驗證。本文將介紹如何使用PHP正規表示式來驗證數字格式,並提供具體的程式碼範例。首先,讓我們來看看常見的數字格式驗證要求:整數:只包含數字0-9,可以以正負號開頭,不包含小數點。浮點

上古王冠是以西方魔幻冒險為背景,高品質有策略的卡牌手遊。遊戲內祕境探險、遺跡大冒險、全民冠軍賽等特色玩法等你來體驗。那麼對於新手玩家來說,想要快速上手這個遊戲當然少不了新手攻略了,今天小編就給大家帶來其相關的攻略,一起看看吧。上古王冠新手攻略玩法一覽一、開區流派:1.攢鑽孔:一切以攢鑽為主,出村後再發力。除了主要的神兵、三個飛輪活動等需要花鑽,其他一概不管,主打一個擺爛,英雄挑戰不必理會,能打多少就多少,不強求。優點:只要擺爛攢鑽,出村後能有鑽石快速接入最新活動,拿新系列五金英雄,鑽石斷檔概

在Go中,可以使用正規表示式比對時間戳記:編譯正規表示式字串,例如用於匹配ISO8601時間戳記的表達式:^\d{4}-\d{2}-\d{2}T \d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ 。使用regexp.MatchString函數檢查字串是否與正規表示式相符。

若要使用正規表示式在Golang中驗證電子郵件地址,請執行下列步驟:使用regexp.MustCompile建立正規表示式模式,以符合有效的電子郵件地址格式。使用MatchString函數檢查字串是否與模式相符。此模式涵蓋了大多數有效的電子郵件地址格式,包括:局部使用者名稱可以包含字母、數字和特殊字元:!.#$%&'*+/=?^_{|}~-`網域至少包含一個字母,後面可以跟字母、數字或連字符頂級域名(TLD)不能超過63個字符長

幻獸帕魯是一款開放世界生存遊戲,支援多人連線。遊戲中有豐富的收集生物玩法,玩家可以進行戰鬥、建造和生存等多種探索。對於新手玩家來說,掌握遊戲的操作技巧和玩法內容是很重要的。以下是一些新手攻略技巧供參考。 1.學習基本操作:在開始遊戲前,建議先學習遊戲的基本操作,包括移動、攻擊、採集等。這樣可以更好地掌握角色的操作。 2.探索世界:幻獸帕魯的世界非常廣闊,有許多隱藏的地方和資源等著玩家去發現。不要害怕冒險,盡量探索每個角落,尋找幻獸帕魯新手快速上手技巧一、基地選址,以平坦為先在幻獸帕魯中,選擇一個

Go中使用正規表示式驗證密碼的方法如下:定義正規表示式模式,符合最低密碼要求:至少8個字符,包含小寫字母、大寫字母、數字和特殊字符。使用regexp套件中的MustCompile函式編譯正規表示式模式。使用MatchString方法測試輸入字串是否與正規表示式模式相符。
