【问题标题】:REGEX - How to replace <br /> with </p> <p> inside a single paragraph正则表达式 - 如何在单个段落中用 </p> <p> 替换 <br />
【发布时间】:2015-03-12 16:42:31
【问题描述】:

这是一个单独的段落,我想将
替换为

:

测试 fahfdjfhsdljfhshfsdfsfsdfd
fhdsjhfjsfhsjfhskhfshfhdsfskhfhsdf
hjhfjshfksdfjshjfhsjkdf

预期结果:

测试 fahfdjfhsdljfhshfsdfsfsdfd

fhdsjhfjsfhsjfhskhfshfhdsfskhfhsdf

hjhfjshfksdfjshjfhsjkdf

如何使用正则表达式来获得预期的结果?实际上,我在该段之外还有其他
但我不想在更改上述代码时更改它。 谢谢。

【问题讨论】:

  • 您必须指定一种语言。 HTML+正则表达式没有意义。例如,Python 有 re 用于使用正则表达式的模块。
  • 您是否有特定的限制阻止您使用 HTML 函数,或者您只是不知道它们?
  • @ForceBru:我使用的是 Ruby on Rails,所以我使用 string.gsub() 来替换
  • @ÁlvaroG.Vicario:与上述答案相同。
  • 你如何识别“这个”段落?只有一个吗?

标签: html regex html-parsing


【解决方案1】:

假设文本周围总是有一对&lt;p&gt;&lt;/p&gt;,那么问题就变成了:

如何将&lt;br/&gt; 替换为&lt;/p&gt;&lt;/p&gt;

答案应该是用&lt;/p&gt;\n&lt;/p&gt;替换&lt;br\/?&gt;[\s]*?\n?[\s]*

正则表达式首先找到&lt;br&gt;&lt;br/&gt;,然后在下一行字符(可能不存在)之前尽可能少地匹配空格,然后是空格。

【讨论】:

    猜你喜欢
    • 2021-12-02
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多