[英]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.