[英]Perl Regex Substitute paragraph tag
我正在尝试使用正则表达式将paragragh标记内的内容替换为br br标记后的内容
s/^[<]p[>](.+)[<][/]p[>]/\1[<]br[>][<]br[>]/
我收到错误Unmatched [在以<--- HERE m / ^ [<] p> [<] [
我尝试将[/]更改为反斜杠/,但我不确定如何解决这个问题。 谢谢=]
我实际上是
s/^<p>(.+)<\/p>/\1<br><br>/;
尝试这个:
s#(?=</p>)#<br><br>#
每当处理/
,我喜欢使用另一个分隔符。 在这里,我使用#
。
因为,您只想添加<br><br>
而不触摸<p>..</p>
,我们可以使用先行锚。 那是(?=...)
所做的。 它寻找一个点之后有一个</p>
并将其替换为替换字符串。
请注意,环顾四周的表达式为零宽度,即它们与任何字符都不匹配。
您可以使用此版本的正则表达式:
s/<p>(.+?)<\/p>/\1<br><br>/si
我删除了字符串起始锚^
,很有可能您不需要它。 .+?
将确保您将匹配最接近的匹配</p>
。 si
选项将启用不区分大小写的匹配和.
还将匹配换行符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.