javascript - 在 JavaScript 中使用正则表达式替换添加 ".js"扩展

标签 javascript regex string replace

假设我必须导入语句

// other code...
import * as Foo from "../some/bar";
import { baz } from './dir/qux';
// other code...

我想在上述每个文件的末尾添加一个 .js 扩展名,用单/双引号括起来,如下所示

import * as Foo from "../some/bar.js";
import { baz } from './dir/qux.js';

在整个代码字符串中。

在 JavaScript 中用正则表达式替换的正确方法是什么?

globalcase 中匹配

str.replace(regexp, newSubstr|function)

String.replace docs

谢谢。

最佳答案

查找以 import 开头且包含斜杠、后跟非斜杠、非句点字符的行,并通过前向查找 ['"];? 来识别字符串和行的结尾:

const codeStr = `
// other code...
import * as Foo from "../some/bar";
import { baz } from './dir/qux';
import { bar } from './dir/bar.js';
// other code...
`;
console.log(
  codeStr.replace(/import .+\/[^\/\.]+(?=['"];?$)/gm, '$&.js')
);

关于javascript - 在 JavaScript 中使用正则表达式替换添加 ".js"扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51851456/

相关文章:

javascript - 单击按钮时使用 JQuery 选择 li 中的跨度值

javascript - 获取对所有 css 样式属性的访问权限?

regex - 如何在Hive中使用正则表达式提取第二个整数?

jQuery为一个类的多个实例替换字符串中的字符

c - int 到填充零字符串

javascript - 如何让窗口在 JAVASCRIPT 中全部滚动到左侧和顶部 - 没有 jQuery

javascript - 如何在 ASP.NET MVC 应用程序中组织 JavaScript 代码

C# Regex 检测特殊字符的使用

r - 在 R 中快速计算字符串中的数字

string - 如何将字符串拆分为第一个字符和其余字符?