[英]Regex search and replace files in project
我正在尝试将'class'=>'smart-form'
更改为'class'=>'smart-form','target'=>'_blank'
我使用以下正则表达式来搜索所有符合此条件的项目文件中的行(我使用regex101工具生成了以下正则表达式):
\<\?php \$form = ActiveForm::begin\(\['id' => 'my-form', 'action'=>\['(\w*)\/(\w*)'\], 'options'=>\[('class'=>'smart-form')]]\); \?>
当我使用Atom编辑器搜索项目文件中的行时,它匹配得很好
但是,我不能使用replace字段使用此替换来替换那些行:
$3,'target'=>'_blank'
是否有用于Atom编辑器的软件包来优化此任务?
作为替代,我可以使用sed(或者可能是MINGW32提供的bash工具的组合),但是我应该使用什么命令?,我对使用此工具没有经验。
除了完成整个字符串,您还可以匹配要替换的部分吗?
('class'=>'smart-form')
然后,您的替换项$1,'target'=>'_blank'
将在不删除其余匹配项的情况下起作用。
如果这还不够具体,那么我想解决的第一个解决方案就是在每个零件的前后添加捕捉,并进行替换,例如$1$4,'target'=>'_blank'$5
(数字可能需要调整为是正确的。
sed '\#\<?php \$form = ActiveForm::begin(\['id' => 'my-form', 'action'=>\['([[:alnum:]_]*)\/([[:alnum:]_]*)'\], 'options'=>\[('class'=>'smart-form')\]\]); ?># {
s/'class'=>'smart-form'/&,'target'=>'_blank'/
}' YourFile
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.