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

正则表达式如何精准匹配指定起始标识到第二个逗号间的内容

问题说明

待处理示例字符串:

Я, Вагапова Варвара Сергеевна, 29.10.1990 года

提取目标:Я, 与第二个逗号之间的内容,预期结果为 Вагапова Варвара Сергеевна。
初始使用的正则:

(?<=Я, )(.*)(?=,)

实际匹配时捕获了超出预期范围的内容,不符合要求。

出错原因

正则里的.*默认是贪婪匹配逻辑,会尽可能向后匹配最长的符合条件的内容,直到找到字符串里位置最靠后的逗号才终止匹配,因此不会在第二个逗号的位置停下,导致多捕获了内容。

修正方案
  • 方案1:把贪婪匹配改成非贪婪匹配,在.*后追加?,让匹配逻辑遇到第一个符合要求的逗号就停止,修正后正则:
    (?<=Я, )(.*?)(?=,)
    
  • 方案2:直接限定捕获内容不能包含逗号,匹配所有非逗号字符,这种写法性能更好,边界兼容性更强,修正后正则:
    (?<=Я, )([^,]*)(?=,)
    

两种正则都可以准确拿到目标结果Вагапова Варвара Сергеевна。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 01:18:21