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

如何用正则表达式获取倒数第二个逗号空格前的内容?

你之前用的([^,]+),[^,]+$为啥不行?因为[^,]+只能匹配不带逗号的片段,但你的目标内容里每个日期本身就带逗号(比如Jan 23, 2023),这个正则只能抓最后一个逗号前后的零碎内容,根本达不到需求。

给你几个靠谱的解决办法:

1. 正则替换法

直接把最后一个, (逗号加空格)以及后面的所有内容删掉就行,用这个正则:

,\s.*$

举个Python里的例子:

import re
input_str = "Jan 23, 2023, October 23, 2022, 2 October 23, 2022, Jan 23, 2023"
output_str = re.sub(r',\s.*$', '', input_str)

跑出来就是你要的结果。

2. 正则捕获法

用正向预查匹配到最后一个, 之前的所有内容,正则是:

^.*(?=,\s.*$)

直接取这个正则的匹配结果就行,它会自动停在最后一个, 的前面。

3. 纯字符串操作(不用正则)

要是你不想用正则,找最后一个, 的位置然后截取前面的内容更简单,比如Python里这么写:

input_str = "Jan 23, 2023, October 23, 2022, 2 October 23, 2022, Jan 23, 2023"
last_sep_index = input_str.rfind(', ')
output_str = input_str[:last_sep_index]

这个方法逻辑直白,不容易出错。

内容的提问来源于stack exchange,提问作者Martín Mas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 12:50:24