0

我正在尝试xhtmlSigil.

命令

< p>([az])

我能够找到所有以小写开头的段落。这告诉我,它们不应该与前一个分开。这只是一个转换问题。

为了将两个文本块合并为一个段落,我应该怎么做才能删除< p>该段落中的和上一个段落中的?< /p>

它看起来像这样:

< p> ...这就是为什么关系</ p>

< p>不是他们应该的样子。

它应该是:

<p>这就是为什么关系不是他们应该的样子。</p>

4

2 回答 2

0

或者通过检查Dot Matches All的最简单方法:

<p>(.+?)</p>

然后你只替换为:$1/1

它将仅保留文本块。

(.+?)- 直到第一个实体(如斜杠>等)之前的所有内容。

(.*?)- 包括实体在内的一切。(小心!

建立你的regex

  • 如果您有换行符,请使用\n
  • 如果你有空间使用\s
  • 如果您想排除某些内容,请使用^
  • 如果你想同时使用两者\n\s(\n\s)
  • 如果你想*在它之后使用任何一种。例如:(\s*直到第一个实体的任何空白
  • 如果您想按第一个字母 go([a-z])或所有字母搜索([a-z]+)
  • 按数字([0-9])或更多数字([0-9]+)
  • 只有 2 个首字母([a-z]{2})等。

    建议

  • 始终使用 预览仅替换第一个匹配项以查看差异。
  • 用括号将它们分组()

希望这可以帮助您更好地理解您的问题。

于 2017-02-07T11:12:28.320 回答
0

我不太确定 Sigil,但以下正则表达式应该能够做到这一点:

首先找到:

</p>\s*<p>(\s*[a-z])

将其替换为:

$1

这意味着什么:

\s* : 任意数量的空格

$1 : 替换后保留的组 ()

于 2015-09-23T13:52:21.057 回答