我是正则表达式新手,所以请耐心等待。
我正在尝试将 Sublime Text 3 中所有显示
col-md-(\w+)
的内容替换为 col-md-(\w+) col-lg-(\w+)
。
但是,当我使用
col-md-\1 col-lg-\1
线时,它就变成了col-md- col-xs-
我做错了什么?
谢谢!
更新:根据请求,我显示输入/输出:
...当我更换全部时
删除你的前瞻,它就会起作用:
Find What: col-md-(\w+)
Replace With: col-xs-$1 col-sm-$1 col-md-$1 col-lg-$1
或者使用
$2
而不是 $1
,因为你在这个前瞻中有一个捕获组:
Find What: (?!col-md-(\w+) )col-md-(\w+)
Replace With: col-xs-$2 col-sm-$2 col-md-$2 col-lg-$2
OMG,您需要使用
$2
而不是 $1
。由于您的否定前瞻已经包含一个捕获组,因此仅当您在替换部分中使用 $1
时,正则表达式引擎才会引用该组。在替换部分中使用 $2
而不是 $1
,这样它将引用不在负向前查找范围内的组。
col-xs-$2 col-sm-$2 col-md-$2 col-lg-$2
试试这个:
col-md-(\w+)(?!\s*col-lg)