正则表达式从行尾找到第4个逗号

时间:2012-02-08 14:05:08

标签: regex pattern-matching matching duplicates

我需要一个正则表达式来匹配行尾的第四个逗号,我的行以逗号结尾。

例如,我想在下面的行中选择G之后的逗号:

A,B,C,D,E,F,G,H,I,J,

2 个答案:

答案 0 :(得分:6)

你可以使用前瞻来做到这一点:

,(?=(?:[^,]*,){3}[^,]*$)

查看在线工作:Rubular

答案 1 :(得分:0)

您可以使用量词然后回溯:

单行输入版(无换行符)

/.*\K,(?=(?:[^,]+,){3})/

单行匹配版本:( Newlines present)

/.*\K,(?=(?:[^,\n]+,){3})/

多行匹配版本:

/.*\K,(?=(?:[^,]+,){3})/s