正则表达式 - 在Dreamweaver中查找和替换

问题描述:

我有超过一千个网页我需要在某个字段内抓取html数据,然后不替换该数据,但我需要将该数据复制到上面的meta字段中,文件。正则表达式 - 在Dreamweaver中查找和替换

我发现下面的代码有点使用完整。

发现:

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

更换如。

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

但我将如何使用/我可以使用正则表达式来找到上面说,但随后而不是替换就像我在上面的例子中的数据,可以我替换/插入变量$ 1插入<meta name="Category" content="$1">的头部内文档,而不是插入跨度下方。 ?

任何想法?

+1

这听起来像你需要使用搜索和替换对话框中的模式,对吧?在所讨论的span范围之前,只有一个名称为Category的标签?尝试'( [\ s \ S] * )([\ s \ S] *?)( )'并换成'$ 1 $ 3 $ 2 $ 3 $ 4' –

+0

Spot On!Worked Perfectly!:D Legend。:)你应该在下面重新发布这个答案,所以我可以把它作为正确的答案 –

+0

另外,当涉及到常规表达我理解到A(。*)B在A和B之间找到值,并且用于替换目的为$ 1。你究竟做了什么/代码/函数在做什么?这很好,但我只是好奇它究竟是如何工作的。 –

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

对于一次性的工作,如果你需要使用模式的里面搜索和替换对话框只有一个metaname等于类别span之前,你可以使用标签

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

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

详细

  • (<meta name="Category" content=") - 第1组捕获<meta name="Category" content="
  • [^"]* - 比"
  • (">[\s\S]*<span class="CatStyle">)其他0+字符 - 组2捕获">,那么任何0+字符(如许多尽可能)直到最后<span class="CatStyle">然后<span class="CatStyle">本身
  • ([\s\S]*?) - 第3组捕获任何0+字符,尽可能少,直至第一...
  • (</span>) - 第4组捕获</span>

$n的是反向引用,以与图案定义的基团配对(...)的帮助。

+0

另外,查看更多关于[*捕捉团体*](http://www.regular-expressions.info/brackets.html)和[* Backreferences *](http://www.regular-expressions.info/replacebackref。 html)在regular-expressions.info。 –