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

如何用正则表达式排除行中部分内容,提取不带引号的目标文本?

正则提取引号内内容的正确写法
  • 方法一:用零宽断言直接匹配目标内容
    正则表达式:(?<=Your name is: ").*?(?=")
    这个写法通过正向预查(?<=Your name is: ")限定匹配前的固定文本,反向预查(?=")限定匹配后的双引号,中间的.*?会精准匹配引号内的Foo Bar,且不会包含双引号。

  • 方法二:捕获组配合非捕获组
    正则表达式:(?:^Your name is: ")(.*)(?:")$
    你之前的写法没成功是因为没取捕获组的内容——这个正则里的(.*)是捕获组,提取时直接取第一个捕获组(比如用$1或\1)就能得到Foo Bar,非捕获组只是用来限定匹配范围,不会被提取。

另外,你之前用的"(.*?)"也可以用,只要提取捕获组$1的内容,就能去掉双引号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 05:55:15