Javascript 正则表达式以查找字符串中的所有import*from*

Javascript 正则表达式以查找字符串中的所有import*from*,javascript,ecmascript-6,Javascript,Ecmascript 6,我有一个由svelte生成的代码文件字符串,我想编写一个正则表达式来查找所有非本地导入语句,删除它们并用其他代码替换它们 生成的代码: /* generated by Svelte v3.31.2 */ // want to get this one import { SvelteComponent, } from "svelte/internal"; // want to leave this one import Button from "Button

我有一个由svelte生成的代码文件字符串,我想编写一个正则表达式来查找所有非本地导入语句,删除它们并用其他代码替换它们

生成的代码:

/* generated by Svelte v3.31.2 */
// want to get this one
import {
    SvelteComponent,
} from "svelte/internal";

// want to leave this one
import Button from "Button.svelte";

class Component extends SvelteComponent {
    constructor(options) {
        super();
        if (!document.getElementById("svelte-1vakd91-style")) add_css();
        init(this, options, null, create_fragment, safe_not_equal, {});
    }
}

export default Component;
/import{(\s{0,}((?!\d)(\w+(:\w+),?)|(\s{0,}\*)(as\s{0,}\w+)+}?从(“|”)开始((\.\.\/)(?!\d)(\w+(\/){0,})+(“|”)/gi

基本上,这表示匹配任何一组字符串:

已导入,后跟

{(\s{0,}((?!\d)(\w+(:\w+,?)|(\s{0,}\*)(as\s{0,}\w+)+}?

…任何字母、数字或不以数字开头的uu,或它等于
*
的字符,可以选择用花括号括起来。它还确保捕获别名,可以是
后跟任何字母或数字,也可以是
as
后跟任何字母或数字

from(“|”)(!(?)(?!\d)(\w+(\/){0,})+(“|”)

这意味着它后面还有一个来自的
,并匹配任何不以
/
开头的字母或数字,因为如果它以该开头,它将从您自己的目录而不是节点模块导入内容。但是,由于它正在访问节点模块中的特定文件或文件夹,因此可以在字母或数字后自由地加上
/


注意:这适用于导入导出。不需要。

对,你试过什么?我已经研究过这个软件包:还有这个:但我对regex不太在行。。。这就是为什么我要问这个问题。。。我想得到一些帮助:)事实上,我认为我链接到的要点可能非常好,但我不知道如何根据我的需要进行调整。不要使用正则表达式来实现这一点,但这是一个合适的工作工具。Transpiler就是为了解决这个问题而构建的,它们将正确解析javascript。感谢Bergi的输入!感谢Destroyer22719(顺便说一句史诗般的名字!)的回复和解释!!我会试试看,然后再给你回复。