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

如何用正则表达式匹配所有以$t('开头、第一个'结尾的字符串?

解决正则匹配第一个单引号结束的问题

你的问题出在正则里的.*是贪婪匹配,它会尽可能匹配更多内容,直到遇到最后一个符合条件的',所以才会把后面的, ['name', 'age也包含进去。

修改方案有两种:

方案1:使用非贪婪匹配

把.*改成.*?,让匹配尽可能少的内容,遇到第一个'就停止:

/(?<=$t\(')(.*?)(?=')/gi

方案2:使用排除型字符组(更高效)

直接匹配所有不是单引号的字符,这样天然只会到第一个'就结束:

/(?<=$t\(')([^']*)(?=')/gi

测试你的示例文本,两种方案都能准确匹配到aaa.bbb、ccc.ddd、eee.fff。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 15:57:19