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

如何修改正则表达式以允许带转义前缀的星号出现在粗体标记内

解决转义星号在粗体块中的正则匹配问题

你当前的正则里,[^*]+会直接排除所有星号,不管是否被转义,所以遇到\*时匹配会中断,导致无法正确捕获包含转义星号的粗体内容。

把正则里的[^*]+替换为(?:\\.|[^*])+即可解决问题,修改后的代码如下:

.gsub(/(^|[^*])(\*\*)((?:\\.|[^*])+)(\*\*)($|[^*])/m, '\1*\3*\5') # bold

关键修改说明:

  • (?:\\.|[^*])+ 是一个非捕获组,用来匹配两种内容:
    1. \\.:匹配任意转义字符(比如\*,如果只想精准匹配转义星号,也可以写成\\*)
    2. [^*]:匹配除了未转义星号之外的任意字符
  • 整个组重复+次,既能完整捕获包含转义星号的粗体内部内容,又不会被未转义的星号打断匹配。

测试你的示例输入:

输入:**hello \* world**
输出:*hello \* world*

完全符合预期需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 14:43:11