You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

匹配闭合标签后首字符为小写的HTML <p>标签的正则问题

正则修改方案:匹配Sigil中符合要求的

标签

需求明确

要匹配的是所有HTML <p>标签(无论是否包含属性),且标签闭合符号>之后的第一个字符为小写字母,例如:

  • 带属性的目标标签:<p class="calibre1">all the while I was...</p>
  • 无属性的目标标签:<p>all the while I was...</p>

原有正则问题

你提供的正则/<\/?([^p](\s.+?)?|..+?)>[a-z]/无法匹配无属性的<p>标签,因为其分组逻辑未覆盖<p>这种最简标签格式。

修改后的正则方案

使用以下正则即可同时覆盖带属性和无属性的目标标签:

/<p(?:\s[^>]+)?>[a-z]/

如果Sigil支持Unicode正则模式,推荐使用更通用的版本(适配非英文小写字母):

/<p(?:\s[^>]+)?>\p{Ll}/u

正则逻辑说明

  • <p:精准匹配<p标签的起始部分
  • (?:\s[^>]+)?:非捕获可选分组,匹配标签的属性部分:
    • \s:匹配属性前的空格(仅当存在属性时出现)
    • [^>]+:匹配任意非>的字符,即属性内容
    • ?:表示该分组可省略,对应无属性的<p>标签
  • >:匹配标签的闭合符号
  • [a-z]/\p{Ll}:匹配>之后的第一个小写字母(\p{Ll}为Unicode小写字母通用匹配)

内容的提问来源于stack exchange,提问作者Michael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 07:20:59