Html 正则表达式查找&;替换插入\1而不是字符串

Html 正则表达式查找&;替换插入\1而不是字符串,html,regex,string,replace,dreamweaver,Html,Regex,String,Replace,Dreamweaver,大家好 我在Adobe Dreamweaver CS6中的查找和替换字符串中使用正则表达式 这是我的查找字段: ()(4 | 5 | 6 | 7 | 8 | 9)(,|) 这是我的替换字段: \1\3 我的理解是,我输入的内容应该是指示Find&Replace函数查找任何数字4-9,前面是空格,后面是逗号或结束段落标记。然后它应该替换为字符串1,即空格,后跟\3 这取代了我为电子书建立的索引中的“5”。所以“查找”部分工作得很好,但由于某些原因,我在“替换”部分得到了不可靠的结果 有没有想过是什

大家好

我在Adobe Dreamweaver CS6中的查找和替换字符串中使用正则表达式

这是我的查找字段:

()(4 | 5 | 6 | 7 | 8 | 9)(,|

这是我的替换字段:

\1\3

我的理解是,我输入的内容应该是指示Find&Replace函数查找任何数字4-9,前面是空格,后面是逗号或结束段落标记。然后它应该替换为字符串1,即空格,后跟
\3

这取代了我为电子书建立的索引中的“5”。所以“查找”部分工作得很好,但由于某些原因,我在“替换”部分得到了不可靠的结果

有没有想过是什么把我搞砸了?非常感谢您抽出时间

编辑:添加代码标记以便显示我的代码。对不起

编辑2:为了清楚起见,我要说的是,我实际上是从find函数中获取
\1
,而不是字符串1的实际值

编辑3:为了表明我做了一些研究,我正在从莉兹·卡斯特罗非常有用的博客“猪、葫芦和维基”中为我的发现和替换绘制基本格式。她2010年7月20日的参赛作品推荐了这种格式,可在以下网址找到。我也曾在那里请求过帮助,但卡斯特罗女士是一位女性,而堆栈溢出则是一大堆


答:我已经找到了我问题的答案。事实证明,在Adobe Dreamweaver中,他们不使用\来表示字符串。他们用美元代替。因此,用$替换\的每一次出现都会产生一个可用的输出。胡萨!(显然由于是新手,8小时内无法回答我自己的问题)

除了反向引用问题,您的正则表达式可以使用一些改进。在Dreamweaver 6中测试:

搜索:
([4-9])(,|

替换:
$2

  • 正如您所指出的,Dreamweaver中的反向引用的形式应该是
    $1
    ,而不是
    \1
  • 不需要捕捉空间。可以直接替换为空格
  • 表达式
    4 | 5 | 6 | 7 | 8 | 9
    可以通过字符范围
    [4-9]
    更紧凑地表达(字符范围是regex的一个工作区)

  • 尝试将替换字符串中的
    \1
    更改为
    $1
    。谢谢。幸好我没有意识到!:)