字符串中最后一点或逗号的正则表达式

Regex for last point or comma in string

我正在寻找一个正则表达式,它可以给出字符串中最后一次出现的点或逗号(以较靠后的那个为准)

根据我 google 自己的想法,我得到了这个 ([,\.])(?!.*) 但这给了我每个字符串两个结果,这不是我想要的。

我希望有人能帮助我,因为我正在努力寻找 google 的正确关键字。

干杯,提前非常感谢

在此正则表达式模式中,第一个捕获组是每行中的最后一个逗号或点。
我们通过寻找一个逗号或点并且不允许在它和行尾之间有一个点、逗号或行结束来实现这一点。

([.,])[^.,\n\r]*$

此模式 ([,\.])(?!.*) 匹配最后一个逗号或点,断言右侧不再存在任何 2 个逗号或点。

点号和逗号都可能出现这种情况,因此您可能 get 2 matches.

如果您想要单个匹配项,您可以匹配其中一个,并使用取反字符 class [^,.\r\n]* 匹配除列出的字符。

请注意,您不需要仅匹配的捕获组。

[,.](?=[^,.\r\n]*$)

看到一个regex demo