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

如何用正则匹配单引号标记外的内容(反向匹配)

匹配单引号之外的文本内容

原正则'.*?'只能捕获单引号包裹的内容,现在要反向匹配单引号外的部分——比如输入asd'asd'asd 'asd'asd,目标是提取出asd、asd、asd 、asd这些片段。

解决方案

用以下正则直接匹配所有单引号外的内容:

(?<=^|')[^']*(?='|$)

正则逻辑说明

  • (?<=^|'):正向回溯断言,确保当前位置要么在字符串开头,要么刚结束一个单引号
  • [^']*:匹配任意数量的非单引号字符(这就是我们要的目标内容)
  • (?='|$):正向前瞻断言,确保当前位置要么马上跟着单引号,要么到了字符串末尾

测试效果

把这个正则套用到输入asd'asd'asd 'asd'asd,会精准匹配到4段目标内容:

  • asd(第一个单引号前的文本)
  • asd(前两个单引号之间的文本)
  • asd (第三个单引号前带空格的文本)
  • asd(最后一个单引号后的文本)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 07:59:58