VS Code正则替换:如何为多组../路径前缀新增一组../
解决导入路径正则替换问题
你之前的正则写法有问题,因为(\.\./)+里的捕获组$1只会保留最后一次匹配的../,所以替换成../$1自然只会得到两个../。
要实现给所有开头的../序列多添一个../,可以用下面两种方法:
方法一:利用全局匹配引用
正则表达式:(\.\./)+
替换内容:../$&
这里的$&代表整个匹配到的字符串,比如原来匹配到三个../,替换后就是../加上这三个../,正好变成四个,符合你的需求。方法二:捕获整个序列
正则表达式:((?:\.\./)+)
替换内容:../$1
这里用(?:)把../包裹成非捕获组,外层的括号捕获整个../序列,$1就是所有的../,替换后同样会多一个../前缀。
举个实际例子:
原导入语句:import Styles from '../../../Styles';
用上述正则替换后会变成:import Styles from '../../../../Styles';
如果是在VS Code这类编辑器里操作,只要勾选「正则表达式」选项,直接用上面的查找替换规则就行。
内容的提问来源于stack exchange,提问作者Ngọc Hùng Long Nguyễn
相关产品推荐
相关产品推荐

