【问题标题】:Regular expression - Find and Replace in Dreamweaver正则表达式 - Dreamweaver 中的查找和替换
【发布时间】:2017-02-11 09:45:38
【问题描述】:

我有一千多个网页,我需要在某个字段中获取 html 数据,然后不替换该数据,但我需要将该数据复制到同一 html 文档头部上方的元字段。

我发现下面的代码有点用满了。

找到:

<span class="CatStyle">(.*)</span>

替换例如。

<span class="CatStyle">$1</span> <meta name="Category" content="$1">

但是我将如何使用/我可以使用正则表达式来查找上面所说的数据,而不是像我在上面的示例中那样替换,我可以将 var $1 替换/插入到文件头部的&lt;meta name="Category" content="$1"&gt; 中,而不是插入跨度下方。 ?

有什么想法吗?

【问题讨论】:

  • 听起来您需要在搜索和替换对话框中使用该模式,对吧?只有一个meta 标签名称为Category 之前 有问题的span?尝试(&lt;meta name="Category" content=")[^"]*("&gt;[\s\S]*&lt;span class="CatStyle"&gt;)([\s\S]*?)(&lt;/span&gt;) 并替换为$1$3$2$3$4
  • 精准!完美工作! :D 传奇。 :) 你应该在下面重新发布这个作为答案,所以我可以将它作为正确答案投票。
  • 另外,当涉及到正则表达式时,我了解 A(.*)B 在 A 和 B 之间找到值并将其设为 $1 用于替换目的。你究竟是如何解决这个问题的/代码/函数在做什么?这完美地工作,但我只是好奇它究竟是如何工作的。

标签: html regex replace find dreamweaver


【解决方案1】:

注意:要操作 HTML,您可以使用比支持正则表达式的 S&R 对话框更好的工具 - HTML 解析器。

对于一次性工作,如果您需要在搜索和替换对话框中使用该模式并且只有一个带有@987654324 的meta 标签@ 等于 Categoryspan 之前,你可以使用

(<meta name="Category" content=")[^"]*(">[\s\S]*<span class="CatStyle">)([\s\S]*?)(</span>)

并替换为$1$3$2$3$4 反向引用序列。

详情

  • (&lt;meta name="Category" content=") - 第 1 组捕获 &lt;meta name="Category" content=" 字符串
  • [^"]* - 除了" 之外的 0+ 个字符
  • ("&gt;[\s\S]*&lt;span class="CatStyle"&gt;) - 第 2 组捕获 "&gt;,然后是任何 0+ 个字符(尽可能多),直到最后一个 &lt;span class="CatStyle"&gt;,然后是 &lt;span class="CatStyle"&gt; 本身
  • ([\s\S]*?) - 第 3 组捕获任何 0+ 个字符,尽可能少,直到第一个...
  • (&lt;/span&gt;) - 第 4 组捕获 &lt;/span&gt;

$n 是在配对 (...) 的帮助下对模式中定义的组的反向引用。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 2015-03-25
  • 2011-06-16
  • 1970-01-01
  • 2017-01-28
相关资源
最近更新 更多