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

求正则表达式:匹配下划线包裹文本,排除无空格分隔的连续下划线

解决方案

可以使用带有负环视断言的正则表达式来满足需求,确保下划线的前后只能是空白字符或字符串首尾,不会和其他非空白字符相连:

/(?<!\S)_(.*?)_(?!\S)/gmi

正则各部分解释

  • (?<!\S):负后向环视,断言当前位置(下划线_的左侧)不是非空白字符,即左侧只能是字符串开头或空白字符
  • _:匹配包裹文本的起始下划线
  • (.*?):非贪婪模式匹配下划线之间的任意内容(支持包含空格、字母等),直到遇到符合条件的结束下划线
  • _:匹配包裹文本的结束下划线
  • (?!\S):负前向环视,断言当前位置(下划线_的右侧)不是非空白字符,即右侧只能是字符串结尾或空白字符
  • gmi:修饰符,分别代表全局匹配、多行匹配、忽略大小写(可根据实际需求调整)

匹配验证

  • 成功匹配:_Sample welcome text_、Sample _welcome_ _text_
  • 拒绝匹配:Sample_welcome_text(下划线两侧为字母,不满足环视断言)

如果需要限制下划线内部不能出现换行符,可将(.*?)替换为([^\n_]*?),避免跨行匹配或意外匹配到内部的下划线。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 14:45:25