2014-06-12 62 views
2

美好的一天。正則表達式查找並替換插入 1而不是字符串

我在Find中使用正則表達式&在Adobe Dreamweaver CS6中替換字符串。

這裏是我的查找字段:

()(4|5|6|7|8|9)(,|</p>)

這裏是我的替換字段:

\1<a href="aup-larondelle-0001.html#p\2">\2</a>\3

我的理解是,我已經進入應該是什麼指示查找&替換函數來查找任何以空格開頭的數字4-9,並且後跟逗號或近段落標籤。然後它應該替換爲字符串1,這是空格,然後是<a href="aup-larondelle-0001.html#p,然後是字符串2,該字符串2可以是任何特定數字,然後是">,然後再次是字符串2(這將是鏈接中可見的可點擊部分),後跟一個錨點close-tag,接着是string 3,它可以是一個或一個近段落標籤。

我真的開始反而是這樣的輸出:

\1<a href="aup-larondelle-0001.html#p\2">\2</a>\3

這是更換「5,」在我爲建設一個電子圖書的索引。所以找到的部分是美麗的工作,但由於某種原因,我得到了替換的結果令人毛骨悚然。

有什麼想法搞砸了我?非常感謝您的時間!

編輯:添加代碼標記,以便我的代碼顯示。對於那個很抱歉!

編輯2:只是要清楚,我的意思是,我從字面上得到\1而不是查找函數的字符串1的實際值。

編輯3:只是爲了表明我已經做了一些研究,我畫的基本格式爲我找到&從利茲·卡斯特羅飛馳有用的博客,「豬,金瓜,和維基百科」取代。她於2010年7月20日的參賽作品推薦了這種格式,可在this link找到。我也曾在那裏請求過援助,但卡斯特羅女士是一位女性,堆棧溢出是軍團。 :)

答:我找到了我的問題的答案。事實證明,在Adobe Dreamweaver中,它們不使用\來指示一個字符串。他們用$代替。因此,用$代替每次出現的\會產生一個可用的輸出。好哇! (不能回答我自己的問題顯然是因爲作爲一個新手8小時)

+1

嘗試改變'\ 1'到'$ 1'在替換字符串。 –

回答

1

除了反向引用問題,你的正則表達式可以使用一些改進。經測試,在Dreamweaver中6:

搜索:([4-9])(,|</p>)

替換:<a href="aup-larondelle-0001.html#p$1">$1</a>$2

  1. 正如你提到的,在Dreamweaver反向引用的形式應該$1而非\1
  2. 沒有必要捕捉空間。你可以直接用空格替換。
  3. 表達4|5|6|7|8|9可以通過字符範圍[4-9]更緊湊地表示(字符範圍是正則表達式的工作母機中的一個)。
+0

謝謝。我很幸福沒有意識到! :) – 1John5vs7

+0

很高興它的工作,謝謝!下次再見。 :) – zx81