我要替换
$this->input->post("product_name");
与
$post_data["product_name"];
我想使用notepad ++正则表达式,但找不到合适的解决方案
在查找中-> $this->input->post("[\*w\]");
在替换中-> $post_data["$1"];
但不起作用
答案 0 :(得分:1)
$this->input->post("[\*w\]");
模式不起作用,原因是:
$
是与行尾匹配的特殊字符,您需要使用\$
使其与文字字符匹配[\*w'\]
是一种格式错误的格式,因为对于打开字符类的]
没有匹配的未转义的[
。此外,w
仅匹配w
,而不匹配任何字母,数字或下划线,\w
则匹配。您可以使用
查找内容:\$this->input->post\("(\w*)"\);
替换为:$post_data["$1"];
如果双引号内可以有任何字符,请使用.*?
代替\w*
:
查找内容:\$this->input->post\("(.*?)"\);
NPP测试:
答案 1 :(得分:0)
使用此模式匹配所需的文本\$this->input->post\(("[^"]+")\);
并用模式\$post_data\[\1\]
说明:
\$this->input->post
-从字面上匹配$this->input->post
\(("[^"]+")\);
-从字面上匹配(
,然后用"[^"]+"
匹配双引号和它们之间的所有内容,并存储在第一个捕获组中,然后按字面意义匹配);
答案 2 :(得分:0)
stores
作者
$this->input->post("product_name");
做替换,激活正则表达式
$post_data["product_name"];
作者
this->input->post\("(.*)"\);
带有x的post_data\["\1"\];
对应于用括号捕获的第x个匹配项。在这里,我们在\x
不要忘记使用this->input->post(XXXX);
来转义特殊字符。
您的特殊字符为\