【问题标题】:regular expression to copy an html tag to another place正则表达式将 html 标签复制到另一个地方
【发布时间】:2011-12-27 08:51:18
【问题描述】:

在 html 中,我需要将标题标签中的文本复制到新行,作为某个位置的 h1 标签。

例子:

<TITLE>any text here, including special characters like  .,:- or whataever</TITLE>

输出将标题保留为as,然后在此下方添加一行:

在这一行下:

<font face="Arial"><span style="font-size: 14pt">

它增加了

<h1 align="center">any text here, including special characters like  .,:- or whataever</h1>

我使用notepad++进行搜索和替换,但我认为它在这种情况下不起作用,所以请建议使用任何其他简单有效的Windows程序,如果有的话希望步骤..我需要编辑这个大量文件..

提前致谢,

【问题讨论】:

    标签: regex tags copy


    【解决方案1】:

    由于这个问题仍然悬而未决,而且您的接受率非常低,我会尽力为您提供解决方案:

    搜索:

       <TITLE>(.*)</TITLE>(.*?)<font face="Arial"><span style="font-size: 14pt">
    

    并确保选中搜索框中的“.matches Newline”选项。然后使用以下替换:

       <TITLE>\1</TITLE>\2<font face="Arial"><span style="font-size: 14pt">\n<h1>\1</h2>
    

    在我的记事本++中工作。

    【讨论】:

      【解决方案2】:

      你需要使用的正则表达式应该是这样的:

      /^<TITLE>(.*)<\/TITLE>/
      

      现在我会给你一个小的 Perl sn-p,它接收一行,匹配上面的正则表达式,并吐出标题标签中的文本,包裹在 &lt;h1&gt;...&lt;/h1&gt; 中。请记住,在正则表达式中,括号用于“分组”匹配 - 或者用外行术语来说,用于存储它们以供将来参考。脚本:

      $line = <STDIN>;
      chomp $line;
      $line =~ /^<TITLE>(.*)<\/TITLE>/;
      print "<h1>"."$1"."</h1>";
      

      这里,TITLE 标记之间的所有文本都被分组,因此存储在变量 $1 中。

      当我这样做时:

      echo "<TITLE>lama</TITLE>" |script.pl
      

      我明白了:

      <h1>lama</h1>
      

      希望对您有所帮助。

      【讨论】:

      • 谢谢Yati,我会试一试,但我想知道怎么做?我的意思是我应该使用哪个程序来添加这些行。我对此完全陌生,我只是在使用记事本++
      • 看看 Tim Pietzcker 的回答。我看到它是notepad++特有的。
      • 不只是notepad++特有的,如果可以按照你的方式完成,只要告诉我我需要做什么,什么程序或如何运行它,我会试试的..谢谢跨度>
      • 好的,这个 sn-p 中使用的编程语言是 Perl:perl.org 我想你在 Windows 上,所以你必须从链接下载并安装它,放置代码在扩展名为pl(比如script.pl)的文件中,然后运行echo 命令,如cmd.exe 中所示,在CD 到包含此文件的文件夹之后。如果一切顺利,您将获得如图所示的 o/p。玩转 Perl,您将成为文本处理大师!你可以用几行 Perl 代码来做复杂的查找替换!
      • 所以我做了所有步骤,但出了点问题:下载了活动 perl - 将前 4 行放在一个名为 script.pl 的文件中 - 将带有 .html 文件的脚本放在一个文件夹中 - 浏览到那个cmd中的文件夹,然后输入行:echo "&lt;TITLE&gt;(.*)&lt;/TITLE&gt;" |script.pl但html文件中没有任何变化!请指教..
      猜你喜欢
      • 2011-05-04
      • 2011-03-31
      • 1970-01-01
      • 2021-09-30
      • 1970-01-01
      • 2014-08-23
      • 1970-01-01
      • 2014-06-16
      相关资源
      最近更新 更多