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

如何编写JavaScript正则仅匹配被两对~包裹的内容?

仅匹配被双波浪线包裹内容的正则解决方案

你需要的正则要精准匹配仅被~~包裹的字符串,排除开头或结尾有3个及以上波浪线的情况,可使用带负向断言的正则表达式:

/^~{2}(?!~)(.*?)(?<!~)~{2}$/gm

正则说明

  • ^~{2}:锁定字符串开头的两个波浪线
  • (?!~):负向先行断言,确保开头的双波浪线后没有额外波浪线,直接排除~~~xxx~~~这类开头有多个波浪线的情况
  • (.*?):非贪婪匹配被包裹的任意内容(如果需要限制中间不能有波浪线,可替换为[^~]*)
  • (?<!~):负向后顾断言,确保结尾的双波浪线前没有额外波浪线,排除结尾有多个波浪线的情况
  • ~{2}$:锁定字符串结尾的两个波浪线
  • gm:全局多行模式,支持匹配多行文本中的符合项

测试验证

  • 匹配成功:~~333~~
  • 匹配失败:~~~333~~~、~~~~333~~~~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 22:30:49