您的当前位置:首页>全部文章>文章详情

phpStorm使用正则批量替换

发表于:2024-04-22 23:50:59浏览:395次TAG: #正则

前言

我们有时候需要对多个文件里面的内容带有某种规则的字符进行替换或查找,那我们可以这样做。

使用

我使用PhpStorm,这是我想搜索和修改的内容。

<img src="/images/test1.png" class="bar" />
<img src="/images/test2.jpg" id="test" />
<div id="content">
    <img src="/assets/images/test3.png" />
</div>

我想在src路径中添加一个帮助器。修改后

<img src="<?php helper_src('/images/test1.png'); ?>" class="bar" />
<img src="<?php helper_src('/images/test2.jpg'); ?>" id="test" />
<div id="content">
    <img src="<?php helper_src('/assets/images/test3.png'); ?>" />
</div>

正则表达式
说明:
使用(…)包起来的有3块
(?:)表示不存储匹配的值
(?)表示文件路径匹配的值

<img src=(?:\'|\")(?<path>\/.*\.(?:jpg|png))(?:\'|\")

您可以使用下面的”replace”值:
$1 表示上面(?)匹配到的值

<img src="<?php helper_src('$1'); ?>

更多示例1

// 原文
url:'/article/cate'
// 正则匹配
url:'(?:/)(.*)'
// 正则替换
url:"{:url('$1')}"
// 结果
url:"{:url('article/cate')}"

更多示例2

// 原文
tool.delete('article/delete', { id: obj.data.id }, callback);
// 正则匹配
tool.delete\((?:\"\/|\'\/)(.*)(?:\"|\'), (.*)\);
// 正则替换
tool.delete("{:url('$1')}",$2);
// 结果
tool.delete("{:url('article/delete')}", { id: obj.data.id }, callback);