正则表达式新秀需要帮助

Lee*_*vis 1 php regex

我对正则表达式完全没用,任何建议都非常感激.

$url = 'http://somedomain.com?var=<##var##>&var2=<##var2##>';
echo preg_replace('^<##(.*)##>$', '', $url);
Run Code Online (Sandbox Code Playgroud)

试图去除(和包括)<##和##>之间的任何东西.所以我的结果是:

http://somedomain.com?var=&var2=
Run Code Online (Sandbox Code Playgroud)

谢谢

Wou*_*r J 7

代码应该是:

<?php
$url = 'http://somedomain.com?var=<##var##>&var2=<##var2##>';
$newUrl = preg_replace('/<##.*?##>/', '', $url);
echo $url;
?>
Run Code Online (Sandbox Code Playgroud)

^$你使用的是错误的,他们represend的开头或字符串的结尾,你会不会只替换<##...##>如果部分<##是在开始和##>在字符串的结尾.

另外,?.*意味着它匹配一切从<##直到下一个##>.如果你使用.*它匹配从第一个<##到最后一个的所有内容,##>那么结果将是http://somedomain.com?var=