gpt4 book ai didi

html - 正则表达式查找和替换插入\1 而不是字符串

转载 作者:行者123 更新时间:2023-11-28 01:43:37 26 4
gpt4 key购买 nike

大家好。

我在 Adob​​e 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(这将是链接的可见的、可点击的部分),然后是 anchor 关闭标记,然后是字符串 3,它可以是 , 或关闭段落标记。

我实际上得到的是这个输出:

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

这将替换我正在为一本电子书构建的索引中的“5”。所以查找部分工作得很好,但出于某种原因,我在替换时得到了不稳定的结果。

有什么想法把我搞砸了吗?非常感谢您抽出宝贵时间!

编辑:添加代码标记以便显示我的代码。对此感到抱歉!

编辑 2:为了清楚起见,我的意思是我确实得到了 \1而不是查找函数中字符串 1 的实际值。

编辑 3:为了表明我做了一些研究,我正在从 Liz Castro 非常有用的博客“Pigs, Gourds, and Wikis”中绘制查找和替换的基本格式。她在 2010 年 7 月 20 日的条目推荐了这种格式,可以在 this link 找到。 .我也在那里请求帮助,但是卡斯特罗女士是一名女性,而 Stack Overflow 则是众多女性。 :)

答案:我找到了我的问题的答案。原来在Adobe Dreamweaver中,他们不用\来表示字符串。他们改用 $。因此,将 $ 替换为每次出现的\都会产生可用的输出。万岁! (显然由于是新手,8 小时内无法回答我自己的问题)

最佳答案

除了反向引用问题,您的正则表达式还可以进行一些改进。在 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] 来更紧凑地表达(字符范围是正则表达式的主力之一)。

关于html - 正则表达式查找和替换插入\1 而不是字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24188672/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com