【发布时间】:2014-08-03 00:43:55
【问题描述】:
大家好。
我在 Adobe Dreamweaver CS6 的查找和替换字符串中使用正则表达式。
这是我的查找字段:
( )(4|5|6|7|8|9)(,|</p>)
这是我的替换字段:
\1<a href="aup-larondelle-0001.html#p\2">\2</a>\3
我的理解是,我输入的内容应该是指示 Find & Replace 函数查找任何数字 4-9,前面有一个空格,后面有一个逗号或关闭段落标记。然后它应该替换为字符串 1,这是空格,然后是 <a href="aup-larondelle-0001.html#p,然后是字符串 2,这将是找到的任何特定数字,然后是 ">,然后是字符串 2(这将是可见的、可点击的链接的一部分),后跟一个锚关闭标记,然后是字符串 3,它可以是一个 或一个关闭段落标记。
我实际上得到的是这个输出:
\1<a href="aup-larondelle-0001.html#p\2">\2</a>\3
这是替换我正在为电子书构建的索引中的“5”。所以 find 部分工作得很好,但由于某种原因,我在替换时得到了不稳定的结果。
有什么想法让我搞砸了?非常感谢您的宝贵时间!
编辑:添加了代码标记,以便显示我的代码。很抱歉!
编辑 2:为了清楚起见,我的意思是我从字面上得到 \1 而不是 find 函数中字符串 1 的实际值。
编辑 3:只是为了表明我已经进行了一些研究,我正在从 Liz Castro 非常有用的博客“Pigs, Gourds, and Wikis”中为我的查找和替换绘制基本格式。她在 2010 年 7 月 20 日的条目推荐了这种格式,可以在 this link 找到。我也曾在那里请求帮助,但卡斯特罗女士是一位女性,而 Stack Overflow 则是众多女性。 :)
回答:我找到了我的问题的答案。事实证明,在 Adobe Dreamweaver 中,它们不使用 \ 来表示字符串。他们使用 $ 代替。因此,将 $ 替换为每次出现的 \ 都会产生可用的输出。嘘! (由于是新手,显然无法回答我自己的问题 8 小时)
【问题讨论】:
-
尝试将替换字符串中的
\1更改为$1。
标签: html regex string replace dreamweaver