const regex = /(?<=\W(from|import|require\(|require\.context\(|import\()\s*)['"`]((\.+|src)\/.+?)['"$`]/g;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(?<=\\W(from|import|require\\(|require\\.context\\(|import\\()\\s*)[\'"`]((\\.+|src)\\\/.+?)[\'"$`]', 'g')
const str = `import sdf from './sdf'
from "./hello"
from "./hello'
import "./sdsd"
const img = require( \`src/sdfsdf\${name}.png\`)
const img = require( \`../../\${name}.png\`)
const img = require.context( \`../../\${name}.png\`)
import "./sdsd"
import {} from './sdsdsd'
import {} from "../sdsdsd"
// import("./sdfsdf");
import("./sdfsdfsdf");
const foo = import('../sdf');
// require
const images = require(\`./sdfsdf\${namme}\`);
require( './sdfsdf' );
// require.context
require.context("./sdf"
const sdf= await import('./sdfsdf')
const aa = require('./sdfsdf')
const aa = require(\`./sdfsdf/\${abc}\`)
const aa = require('./sdfsdf/')
// export from
export * from './interface'
import(\`./sdf\${1}\`)
import(\`./sdfsdf")
const dfdf = '../sdfsdfsdf'
let fpath = 'src/modules/' + name`;
// 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