Regex 正则表达式将html标记复制到其他位置

Regex 正则表达式将html标记复制到其他位置,regex,tags,copy,Regex,Tags,Copy,在html中,我需要将标题标记中的文本复制到一个新行,作为h1标记在某个位置 例如: <TITLE>any text here, including special characters like .,:- or whataever</TITLE> 此处的任何文本,包括特殊字符,如.,:-或其他 输出以保留该标题,然后在此标题下添加一行: 在这一行下: <font face="Arial"><span style="font-size: 14pt"

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

例如:

<TITLE>any text here, including special characters like  .,:- or whataever</TITLE>
此处的任何文本,包括特殊字符,如.,:-或其他
输出以保留该标题,然后在此标题下添加一行:

在这一行下:

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

它补充道

<h1 align="center">any text here, including special characters like  .,:- or whataever</h1>
此处的任何文本,包括特殊字符,如.,:-或其他
我使用记事本++进行搜索和替换,但我认为它在这种情况下不起作用,因此请建议使用任何其他简单有效的Windows程序,如果有,请选择步骤。。我需要批量编辑许多文件


提前感谢,

您需要使用的正则表达式应该是:

/^<TITLE>(.*)<\/TITLE>/
/^(.*)/
现在,我将给您一个小的Perl代码段,它接收一行代码,与上面的正则表达式匹配,并在
中包装的标题标记中吐出文本。请记住,在正则表达式中,括号用于“分组”匹配项,或者用外行术语,用于存储它们以备将来引用。剧本:

$line = <STDIN>;
chomp $line;
$line =~ /^<TITLE>(.*)<\/TITLE>/;
print "<h1>"."$1"."</h1>";
$line=;
chomp$行;
$line=~/^(.*)/;
打印“$1”;
这里,标题标记之间的所有文本都被分组,因此存储在变量$1中

当我这样做时:

echo "<TITLE>lama</TITLE>" |script.pl
echo“lama”| script.pl
我得到:

<h1>lama</h1>
喇嘛

希望这能有所帮助。

由于这个问题仍然悬而未决,而且您的接受率很低,我将尝试为您提供一个解决方案:

搜索:

   <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>
\1\2\n\1

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

谢谢Yati,我会尝试一下,但我想知道怎么做?我的意思是我应该使用哪个程序来添加这些行。我对这个完全陌生,我只是在用记事本++看看Tim Pietzcker的答案。我明白了,它是特定于记事本++的。不仅仅是特定于记事本+,如果可以按照您的方式完成,请告诉我需要用什么做,用什么程序或如何运行它,我会试试。。谢谢,这段代码中使用的编程语言是Perl:我想您是在Windows上,所以您必须从链接下载并安装它,将上面的代码放在扩展名为
pl
(比如script.pl)的文件中,然后运行
echo
命令,如cmd.exe所示,将
CD
复制到包含此文件的文件夹后。如果一切正常,您将获得如图所示的o/p。使用Perl,您将成为文本处理的大师!您可以用几行Perl代码来完成复杂的查找替换!所以我做了所有的步骤,但有点错误:下载了active perl-将前4行放在名为script.pl的文件中-将带有.html文件的脚本放在一个文件夹中-在cmd中浏览到该文件夹,然后输入以下行:
echo”(.*);script.pl
,但html文件中没有任何更改!请告知。。