首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换查询的正则表达式

替换查询的正则表达式
EN

Stack Overflow用户
提问于 2013-07-19 06:17:37
回答 2查看 219关注 0票数 0

有没有人可以为我做一个NOTEPAD++的正则表达式来代替这个查询:

代码语言:javascript
复制
mysql_query($query, $db);

替换为:

代码语言:javascript
复制
$mysqli->query($query)

但是$query也可以有另一个变量名,例如$query_2,因此输出应该是

代码语言:javascript
复制
$mysqli->query($query2)

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-19 22:49:00

适用于Notepad++ 6.3.2。这解决了任何可能使用不一致的空格和制表符的问题。

搜索模式

代码语言:javascript
复制
mysql_query\(\s*\$([^,\s]+)\s*,\s*\$db\s*\);

替换

代码语言:javascript
复制
\$mysqli->query\(\$\1\);

(确保在替换对话框中选择了正则表达式单选按钮)。

测试文本

代码语言:javascript
复制
mysql_query($query, $db);
mysql_query($SQL , $db);
mysql_query($query2,    $db);
mysql_query( $SQL_v4, $db );
mysql_query($AnotherSQL,$db);

输出文本

代码语言:javascript
复制
$mysqli->query($query);
$mysqli->query($SQL);
$mysqli->query($query2);
$mysqli->query($SQL_v4);
$mysqli->query($AnotherSQL);
票数 3
EN

Stack Overflow用户

发布于 2013-07-19 06:25:51

代码语言:javascript
复制
$input = 'mysql_query($asdf, $db);';
$input = preg_replace('/mysql_query\(\$(\w+), \$db\);/','\$mysqli->query(\$$1);',$input);
echo $input;

输出$mysqli->query($asdf);

编辑:

在Notepad++上,尝试执行以下操作:

  1. Find what:mysql_query\(\$(\w+), *\$db\);
  2. Replace with:\$mysqli->query\(\$$1\);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17734920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档