1

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

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"

如果我做错了什么,请阻止我

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

谢谢

4

1 回答 1

4

这应该有效。

(\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
于 2017-02-01T14:51:38.633 回答