Eclipse / Aptana 正则表达式搜索和替换

5
在Aptana(Eclipse)中,我想将许多文件中的PHP关联数组替换为对象:
$requete["something"]

by

$row->something

我尝试过这个,搜索:

\$requete\[\"([\w.])+\"\]

使用 REPLACE 函数:

\$row->$1

但是正则表达式引擎只会取搜索字符串的最后一个字符:对于something而言,它只会取g。

欢迎任何想法!谢谢。

2个回答

2
正则表达式只匹配了组中的最后一个字符是因为加号在单词匹配组的外面。另外,句点是不必要的。
要修复正则表达式,请将 w 后面的句点替换为加号。 \$requete\[\"([\w]+)\"\]

非常感谢!我明白了我的错误。上面的解决方案也有效... - Amoeba

1

在搜索部分使用\$requete\[\"(\w+?)\"\]进行正则表达式匹配。您当前正则表达式的问题在于,您将量词放在捕获组之外。


\w 本身是一个简写,用于表示匹配单词字符([a-zA-Z0-9_])的字符类。更多关于字符类的信息请参见 http://www.regular-expressions.info/charclass.html。 - Narendra Yadala

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接