如何用正则表达式匹配含换行的<shi>特殊标签?
匹配带任意换行/空白的
<shi>标签正则方案 核心逻辑
你要匹配的是<shi>标签的各种换行变体,本质就是允许<和shi之间、shi和>之间有0个或多个空白字符(换行、空格、制表符都算)。
直接可用的正则
通用版(适配绝大多数正则引擎)
/<\s*shi\s*>/
拆解各部分作用:
<:精准匹配标签开头的左尖括号\s*:匹配任意数量的空白字符(包括换行、空格、制表符,*代表0个或多个)shi:固定匹配标签的核心文本>:匹配标签结尾的右尖括号
多行模式适配(部分语言需要)
如果你的正则工具默认不支持跨行匹配(比如JS里的正则),加上m修饰符开启多行模式即可:
/<\s*shi\s*>/m
可覆盖的匹配场景
这个正则完全适配你列出的所有情况:
<shi>< shi>- `<
shi
`
- `<shi
`
- 其他任意位置插入空白/换行的
<shi>变体
额外扩展
如果需要同时匹配闭合标签</shi>,把正则调整为:
/<\/?\s*shi\s*>/
这里的\/?表示闭合斜杠是可选的,能同时匹配<shi>和</shi>的所有换行变体。
内容的提问来源于stack exchange,提问作者hoangnv
相关产品推荐
相关产品推荐

