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

如何编写正则匹配未被双引号包裹且中间带短横线的字符串

正则匹配修正方案

你要实现的匹配需求可以用以下正则表达式完成:

(?<!")\b\w+-\w+\b(?!")

规则说明

  • (?<!"):负向逆序环视,保证匹配到的词条左侧没有双引号,排除被左引号包裹的情况
  • \b:单词边界,确保匹配完整的独立词条,不会从字符串中间截断匹配
  • \w+-\w+:匹配中间包含短横线、前后为字母/数字/下划线的词条,如果你不需要匹配下划线,可以替换为[a-zA-Z0-9]+-[a-zA-Z0-9]+
  • (?!"):负向顺序环视,保证匹配到的词条右侧没有双引号,排除被右引号包裹的情况

原正则问题分析

你之前写的正则仅在词条末尾加了后置负环视,既没有判断词条左侧是否存在引号,环视的作用位置也不正确,因此无法过滤被双引号包裹的符合格式的词条。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 21:06:01