正则表达式匹配需求:以[开头、含hi、以|]结尾的内容
正则表达式修改方案
你只需要在原有正则的基础上,强制要求片段中间包含hi字符串即可,最终正则如下:
\[\S*?hi\S*?\|\]
各部分说明:
\[:精准匹配片段开头的[符号\S*?:匹配任意数量的非空白字符,用非贪婪模式*?防止过度匹配到其他同类片段的结尾hi:明确要求片段中必须包含的核心字符串\S*?:继续匹配hi之后的任意非空白字符,同样用非贪婪模式控制匹配范围\|\]:精准匹配片段结尾的|]符号
测试你的示例:
- 输入
[he] [picks] [him.|],会匹配到[him.|] - 输入
[it's] [his|] [word.|],会匹配到[his|]
如果需要支持不区分大小写的匹配(比如匹配Hi或HI),可以添加不区分大小写修饰符,正则变为:
(?i)\[\S*?hi\S*?\|\]
内容的提问来源于stack exchange,提问作者Jelmer405
相关产品推荐
相关产品推荐

