[英]Matching multiline javascript import using vim regex
我在js文件中有这些导入
import { Field } from 'redux-form';
import {
fullName,
} from '../../../common/helpers/users';
我正在尝试仅匹配第二个导入。 我尝试使用此搜索
/^import\\s{\\_.*}\\sfrom\\s'\\.\\.\\/\\.\\.\\/\\.\\.\\/common\\/helpers\\/users';$
还有这个用\\v
/\\v^import\\s\\{\\_.*\\}\\sfrom\\s'\\.\\.\\/\\.\\.\\/\\.\\.\\/common\\/helpers\\/users';
但是,这两种正则表达式模式都匹配两种导入(基本上是所有内容)。 我怎么只能匹配第二个?
import {
fullName,
} from '../../../common/helpers/users'
谢谢!
似乎在第一个表达式中添加换行符将匹配第二个import语句,但不匹配第一个import语句。
^import\s{\n\_.*}\sfrom\s'\.\.\/\.\.\/\.\.\/common\/helpers\/users';$
如果要在换行符前允许尾随空格,则也可以添加。
^import\s{\s*\n\_.*}\sfrom\s'\.\.\/\.\.\/\.\.\/common\/helpers\/users';$
您只需要在{
之后添加\\n
:
/^import\s{\n\_.*}\sfrom\s'\.\.\/\.\.\/\.\.\/common\/helpers\/users';$
说明
\\_.
匹配任何单个字符或行尾 ,因此import
语句在{
之后有或没有换行符都将被匹配。
通过在{
之后添加\\n
,vim将仅匹配第二种类型的import
语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.