我可以使用什么正则表达式在逗号分隔列表中查找Nᵗʰ条目?

Jar*_*red 7 regex parsing split comma

我需要一个正则表达式,可用于在逗号分隔列表中查找第N 条目.

例如,假设此列表如下所示:

abc,def,4322,mail@mailinator.com,3321,alpha-beta,43
Run Code Online (Sandbox Code Playgroud)

...我想找到第7 条目(alpha-beta)的值.

gym*_*all 9

我的第一个想法不是使用正则表达式,而是使用将字符串拆分为逗号上的数组的东西,但是因为你要求使用正则表达式.

大多数正则表达式允许您指定最小或最大匹配,所以这样的东西可能会起作用.

/(?:[^\,]*\,){6}([^,]*)/

这是为了匹配任何数量的非逗号字符,后面跟着逗号六次(?:[^,]*,){6}- ?:说不捕获 - 然后匹配和捕获任何不是逗号的字符([^,]+).您想使用第一个捕获组.

如果您需要更多信息,请告诉我.

编辑:我编辑了上面的内容,没有捕获字符串的第一部分.这个正则表达式适用于C#和Ruby.