我正在尝试使用正则表达式在我的应用程序路径中查找“系统”文件夹,并将其替换为“计数器”。但我的正则表达式模式对我不满意。代表我的应用程序路径的字符串称为 $counterslocation,它看起来像这样:
“/var/www/myapp/系统”
最终,我想结束这个:
/var/www/myapp/counters
首先,我使用 preg_match 来确保我的模式是正确的。然后我会尝试 preg_replace。我有以下正则表达式代码:
$pattern='/(\/[0-9a-z]\/)*(myapp\/)(system)/i';
if (preg_match($pattern,$counterslocation,$matches)) {
var_dump($matches);
}
var_dump() 调用返回以下输出:
数组(4) { [0]=> 字符串(10) "myapp/system" [1]=> 字符串(0) "" [2]=> 字符串(4) "myapp/" [3]=> 字符串( 6)“系统”
我的问题是,如何让正则表达式也返回导致字符串“myapp”部分的所有内容?我想通过把它放在括号中,它会将它作为第一组捕获......但看起来我做错了什么。
谢谢。