const regex = /^(?:.*)testhack(?:[[:alnum:][:blank:]\\\/\._-]*)(?<!\.git|\.gitignore)$/gim;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('^(?:.*)testhack(?:[[:alnum:][:blank:]\\\\\\\/\\._-]*)(?<!\\.git|\\.gitignore)$', 'gim')
const str = `/home/kwaadpepper/testhack
/home/kwaadpepper/testhack/TwitterReport
/home/kwaadpepper/testhack/test
/home/kwaadpepper/testhack/TwitterReport/.git
/home/kwaadpepper/testhack/TwitterReport/.gitignore
/home/kwaadpepper/testhack/TwitterReport/LICENSE
/home/kwaadpepper/testhack/TwitterReport/README.md
/home/kwaadpepper/testhack/TwitterReport/log_Error.txt
/home/kwaadpepper/testhack/TwitterReport/log_reported_2015111731047.txt
/home/kwaadpepper/testhack/TwitterReport/log_reported_2015111761057.txt
/home/kwaadpepper/testhack/TwitterReport/log_reported_2015111762323.txt
/home/kwaadpepper/testhack/TwitterReport/log_reported_201511176245.txt
/home/kwaadpepper/testhack/TwitterReport/log_suspended.txt
/home/kwaadpepper/testhack/TwitterReport/twitterReport.py
/home/kwaadpepper/testhack/TwitterReport/twitter_accounts.txt
/home/kwaadpepper/testhack/TwitterReport/twitter_accounts2.txt
/home/kwaadpepper/testhack/TwitterReport/twitter_accounts2.txt.save
/home/kwaadpepper/testhack/TwitterReport/twitter_accounts3.txt
/home/kwaadpepper/testhack/TwitterReport/.git/HEAD
/home/kwaadpepper/testhack/TwitterReport/.git/branches
/home/kwaadpepper/testhack/TwitterReport/.git/config
/home/kwaadpepper/testhack/TwitterReport/.git/hooks/pre-applypatch.sample
/home/kwaadpepper/testhack/TwitterReport/.git/hooks/pre-commit.sample
/home/kwaadpepper/testhack/TwitterReport/.git/hooks/pre-push.sample
/home/kwaadpepper/testhack/TwitterReport/.git/hooks/pre-rebase.sample
/home/kwaadpepper/testhack/TwitterReport/.git/hooks/prepare-commit-msg.sample
/home/kwaadpepper/testhack/TwitterReport/.git/hooks/update.sample
/home/kwaadpepper/testhack/TwitterReport/.git/info/exclude
/home/kwaadpepper/testhack/TwitterReport/.git/objects/21
/home/kwaadpepper/testhack/TwitterReport/.git/objects/4d
/home/kwaadpepper/testhack/TwitterReport/.git/objects/59
/home/kwaadpepper/testhack/TwitterReport/.git/objects/69
/home/kwaadpepper/testhack/TwitterReport/.git/objects/70
/home/kwaadpepper/testhack/TwitterReport/.git/objects/f9/00faba8624d5cbfee6032ad6266c6722b19457
/home/kwaadpepper/testhack/TwitterReport/.git/refs/heads
/home/kwaadpepper/testhack/TwitterReport/.git/refs/remotes
/home/kwaadpepper/testhack/TwitterReport/.git/refs/tags
/home/kwaadpepper/testhack/TwitterReport/.git/refs/heads/master
/home/kwaadpepper/testhack/TwitterReport/.git/refs/remotes/origin
/home/kwaadpepper/testhack/TwitterReport/.git/refs/remotes/origin/HEAD`;
// 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