我尝试在Sublime Text中使用以下regexp find / replace将commonjs模块require转换为es6模块import语句。
查找
var (\w+) = require\('(\w+)'\)\;
替换
import $1 from '$2';
不知何故,它只找到每个文件一个匹配项,并且只在第一行找到。我需要更改什么才能使其在整个文件中匹配?我尝试过为全球添加一个/ g,但没有运气。
这是一些示例文字。
var React = require('react');
var Router = require('react-router');
如果我使用find(cmd -F)它只会找到第一个出现,无论我按下find / find prev / find all。
答案 0 :(得分:2)
var (\w+) = require\('(\w+)'\)\;
此处\w
表示任何字符
但是你的第二行
var Router = require('react-router');
还有一个破折号,我猜这不是单词字符。
使用以下正则表达式来识别短划线。
var (\w+) = require\('([\w\-]+)'\)\;