使用regex多个捕获组拆分字符串
我有一个像这样的文件使用regex多个捕获组拆分字符串,regex,capture-group,Regex,Capture Group,我有一个像这样的文件 "1234567123456","V","0","0","BLAH","BLAH","BLAH","BLAH" "1234567123456","D","TEST1 " "1234567123456","D","TEST 2~TEST3" "1234567123456","R","TEST4~TEST5" "1234567123457","V","0","0","BLAH","BLAH","BLAH","BLAH" "1234567123457","D","TEST 6"
"1234567123456","V","0","0","BLAH","BLAH","BLAH","BLAH"
"1234567123456","D","TEST1 "
"1234567123456","D","TEST 2~TEST3"
"1234567123456","R","TEST4~TEST5"
"1234567123457","V","0","0","BLAH","BLAH","BLAH","BLAH"
"1234567123457","D","TEST 6"
"1234567123457","D","TEST7"
"1234567123457","R","TEST 8~TEST9~TEST,10"
我要做的就是解析D和R行。在这种情况下,~用作分隔符。所以最终的结果是
"1234567123456","V","0","0","BLAH","BLAH","BLAH","BLAH"
"1234567123456","D","TEST1 "
"1234567123456","D","TEST3"
"1234567123456","D","TEST3"
"1234567123456","R","TEST4"
"1234567123456","R","TEST5"
"1234567123457","V","0","0","BLAH","BLAH","BLAH","BLAH"
"1234567123457","D","TEST 6"
"1234567123457","D","TEST7"
"1234567123457","R","TEST 8"
"1234567123457","R","TEST9"
"1234567123457","R","TEST,10"
我在Textpad和Notepad++等应用程序上使用正则表达式。我还没有弄明白如何使用像/.+/g这样的正则表达式,因为应用程序不喜欢正斜杠。所以我不认为我可以使用全局修饰符之类的东西。我目前有以下正则表达式
//In a program like Textpad/Notepad++
<FIND> "(.{13})","D","([^~]*)~(.*)
<REPLACE> "\1","D","\2"\n"\1","D","\3
我希望能够使用一个多捕获组来完成这项工作。我发现这是关于重复捕获组和捕获重复组之间的常见错误。我需要捕获一个重复的组。由于某种原因,我只是不能使我的工作,虽然正确。还有人有主意吗
注意:如果我可以去掉前导空格和尾随空格,例如:“123456713456”、“D”、“TEST1”最后变成“123456713456”、“D”、“TEST1”,那就更好了,但不是必需的
资源:
"1234567123456","D","TEST1~TEST2~TEST3~TEST4~TEST5"
"1234567123457","D","TEST1~TEST2~TEST3"
"1234567123458","D","TEST1~TEST2"
"1234567123459","D","TEST1~TEST2~TEST3~TEST4"