Skip to content

Instantly share code, notes, and snippets.

@mis101247
Last active April 24, 2020 07:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mis101247/acca15da93e4fb6e8126634a81da3847 to your computer and use it in GitHub Desktop.
Save mis101247/acca15da93e4fb6e8126634a81da3847 to your computer and use it in GitHub Desktop.
[Regex] Note

E.g.

lastName, firstName, email, phone, uid, subject, verificationCode
Wang,haha,,+886912345678,10001,PM,a,7624
Ke,yuyou,814007@gmail.com,,10002,RD,b,8140

Regex

^(?<lastName>[^,]*),(?<firstName>[^,]*),(?<email>[^,]*),(?<phone>[^,]*),(?<uid>[^,]*),(?<subject>[^,]*),(?<sales>[^,]*),(?<verificationCode>[^,]*)$

Split Regex

^ 
(?<lastName>[^,]*)
,
(?<firstName>[^,]*)
,
(?<email>[^,]*)
,
(?<phone>[^,]*)
,
(?<uid>[^,]*)
,
(?<subject>[^,]*)
,
(?<sales>[^,]*)
,
(?<verificationCode>[^,]*)
$

javascript

const regex = /^(?<lastName>[^,]*),(?<firstName>[^,]*),(?<email>[^,]*),(?<phone>[^,]*),(?<uid>[^,]*),(?<subject>[^,]*),(?<sales>[^,]*),(?<verificationCode>[^,]*)$/gm;
const str = `lastName, firstName, email, phone, uid, subject, verificationCode
Wang,haha,,+886912345678,10001,PM,a,7624
Ke,yuyou,814007@gmail.com,,10002,RD,b,8140`;
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++;
    }
    
    const rowData = m.groups;
    console.log(rowData);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment