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