Regex 如果在正则表达式中双引号内有逗号,如何捕获该组?

Regex 如果在正则表达式中双引号内有逗号,如何捕获该组?,regex,apache-nifi,capture-group,Regex,Apache Nifi,Capture Group,我是这个正则表达式匹配的新手,有如下示例输入 1,2,Name,"12,3" 1,2,Name,12 现在我需要一个正则表达式来拆分两行,就像下面的捕获组一样 input.1->1 input.2->2 input.3->Name input.4->"12,3" input.1->1 input.2->2 input.3->Name input.4->12 我找到了正则表达式,并在ExtractTextProcessor中使用它,就像这样 (

我是这个正则表达式匹配的新手,有如下示例输入

1,2,Name,"12,3"
1,2,Name,12
现在我需要一个正则表达式来拆分两行,就像下面的捕获组一样

input.1->1
input.2->2
input.3->Name
input.4->"12,3"

input.1->1
input.2->2
input.3->Name
input.4->12
我找到了正则表达式,并在ExtractTextProcessor中使用它,就像这样

(.+),(.+),(.+),(.+)
它匹配如下

input.1->1,2
input.2->Name
input.3->"12
input.4->3"
如果我做错了什么就阻止我

请任何人指导我解决这个问题

谢谢

这应该行得通

(\d+),(\d+),(\w+),(\d+$|(?:\"*\d*,*)*)
输入:

1,2,Name,"12,3"
1,2,Name,12
输出:

#1
$1 = 1
$2 = 2
$3 = Name
$4 = "12,3"

#2
$1 = 1
$2 = 2
$3 = Name
$4 = 12
这应该行得通

(\d+),(\d+),(\w+),(\d+$|(?:\"*\d*,*)*)
输入:

1,2,Name,"12,3"
1,2,Name,12
输出:

#1
$1 = 1
$2 = 2
$3 = Name
$4 = "12,3"

#2
$1 = 1
$2 = 2
$3 = Name
$4 = 12

不使用give\w,\d仅限使用是否可能。*不使用give\w,\d仅限使用是否可能*