I need a regular expression that can be used to find the Nth entry in a comma-separated list.
For example, say this list looks like this:
abc,def,4322,mail@mailinator.com,3321,alpha-beta,43
…and I wanted to find the value of the 7th entry (alpha-beta).
My first thought would not be to use a regular expression, but to use something that splits the string into an array on the comma, but since you asked for a regex.
most regexes allow you to specify a minimum or maximum match, so something like this would probably work.
/(?:[^\,]*,){5}([^,]*)/This is intended to match any number of character that are not a comma followed by a comma six times exactly
(?:[^,]*,){5}– the?:says to not capture – and then to match and capture any number of characters that are not a comma([^,]+). You want to use the first capture group.Let me know if you need more info.
EDIT: I edited the above to not capture the first part of the string. This regex works in C# and Ruby.