const regex = /^([^,]*,){39}"/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('^([^,]*,){39}"', 'gm')
const str = `,1414,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"kepware~5~63CC97F2-5494-43F2-9F92-79A2BEF58D2A","5:39265338",,1473800029,"2016-09-13 20:54:20.206 +0000 Tag=""MODBUS.ROBOT.Position_Base"" Value=""1414"" Quality=""good"" ","RS5c
kepware",Kepware,".206","1473800060.206",,,20,13,54,september,20,tuesday,2016,0,,,"24.97.250.66",kepware,1,,,"--_::._+_=""..""_=""""_=""""_",,Kepware,Kepware,RS5c,,,,,,29,0,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"1487.42566",,"kepware~5~63CC97F2-5494-43F2-9F92-79A2BEF58D2A","5:39143140",,1473798904,"2016-09-13 20:35:35.147 +0000 Tag=""OmronCJ.PLC1.Suply_conv.Belt_speed"" Value=""1487.42566"" Quality=""good"" ","RS5c
kepware",Kepware,".147","1473798935.147",,,20,13,35,september,35,tuesday,2016,0,,,"24.97.250.66",kepware,1,,,"--_::._+_=""...""_="".""_=""""_",,Kepware,Kepware,RS5c,,,,,,29,0,,
,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,"kepware~5~63CC97F2-5494-43F2-9F92-79A2BEF58D2A","5:39117933",,1473798672,"2016-09-13 20:31:42.457 +0000 Tag=""MODBUS.ROBOT.Velocity_Sholder"" Value=""0"" Quality=""good"" ","RS5cSplunk1
kepware",Kepware,".457","1473798702.457",,,20,13,31,september,42,tuesday,2016,0,,,"24.97.250.66",kepware,1,,,"--_::._+_=""..""_=""""_=""""_",,Kepware,Kepware,RS5c,,,,,,29,0,,
,,,,,,,,,,,,,,,,,,,,,,,,,"1491.82166",,,,,,,,,,"kepware~5~63CC97F2-5494-43F2-9F92-79A2BEF58D2A","5:39105700",,1473798560,"2016-09-13 20:29:50.387 +0000 Tag=""OmronCJ.PLC1.Assy_conv.belt_speed"" Value=""1491.82166"" Quality=""good"" ","RS5c
kepware",Kepware,".387","1473798590.387",,,20,13,29,september,50,tuesday,2016,0,,,"24.97.250.66",kepware,1,,,"--_::._+_=""...""_="".""_=""""_",,Kepware,Kepware,RS5c,,,,,,29,0,,
,,,,,,,,,,,,,,,,,,,,1605,,,,,,,,,,,,,,,"kepware~5~63CC97F2-5494-43F2-9F92-79A2BEF58D2A","5:39087971",,1473798396,"2016-09-13 20:27:06.649 +0000 Tag=""MODBUS.ROBOT.Velocity_Max_Wrst3"" Value=""1605"" Quality=""good"" ","RS5c
`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions