【发布时间】:2013-01-22 17:32:09
【问题描述】:
我正在使用 NetBeans,我想知道使用什么正则表达式在每个常量周围添加单引号/双引号。每个常量的定义如下:
define(SYSTEM_BASEDIR, '/base/dir');
Afaik,这不是正确的方法。我需要将所有常量转换为:
define('SYSTEM_BASEDIR', '/base/dir');
提前感谢所有帮助者!
【问题讨论】:
我正在使用 NetBeans,我想知道使用什么正则表达式在每个常量周围添加单引号/双引号。每个常量的定义如下:
define(SYSTEM_BASEDIR, '/base/dir');
Afaik,这不是正确的方法。我需要将所有常量转换为:
define('SYSTEM_BASEDIR', '/base/dir');
提前感谢所有帮助者!
【问题讨论】:
define(SYSTEM_BASEDIR, '/base/dir'); 是无效语法是正确的,因为您在定义它之前使用了常量。
现在是正则表达式:
打开替换对话框 (Ctrl+H)
查找内容:define\((\w*),
替换为:define("$1",
这会变成这样:
define(BLA,"test");
进入:
define("BLA","test");
【讨论】:
,
(。
网豆Ctrl+H
find: (define\()(\w*)(\,)
replace: define("$2",
检查正则表达式
【讨论】:
$result = preg_replace('/\bdefine\((\w+),/', 'define(\'\1\',', $subject);
更改所有实例
define(<alphanumeric word>,
进入
define('<alphanumeric word>',
【讨论】:
Netbeans Ctrl+H
find: define\(([A-Za-z_]+),
replace: define('$1',
检查正则表达式
【讨论】:
从您的编辑器中查找替换文本
在那里使用这个 reg 表达式:
find : define\((.*),
replace : define('\$1',
如果您使用的是记事本++
replace : define('\1',
【讨论】:
\1 不能用于替换字符串中的捕获组引用,但它可以用于正则表达式内的反向引用。由于支持的正则表达式标准不同,它在 Notepad++ 中工作。检查这个stackoverflow.com/questions/11970405/…
使用这个正则表达式替换
(?<constant>(?:[A-Z]+(_[A-Z]+)*))
【讨论】: