Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正则表达式删除URL中的字符串_Php_Regex - Fatal编程技术网

Php 正则表达式删除URL中的字符串

Php 正则表达式删除URL中的字符串,php,regex,Php,Regex,我有一个URL,在该URL中传递基本身份验证,例如: https://user:pass@dev.google.com 从最后一个/到@之间删除所有内容的正则表达式是什么 例如: https://user:pass@dev.google.com 将成为: https://dev.google.com 我试过一些正则表达式,但我的知识对这门学科仍然是基础的 我将使用PHP函数进行替换 preg_replace('#/[^/]*@#', '/', $url); 细分: /匹配斜杠 [^/]

我有一个URL,在该URL中传递基本身份验证,例如:

https://user:pass@dev.google.com
从最后一个/@之间删除所有内容的正则表达式是什么

例如:

https://user:pass@dev.google.com
将成为:

https://dev.google.com
我试过一些正则表达式,但我的知识对这门学科仍然是基础的

我将使用PHP函数进行替换

preg_replace('#/[^/]*@#', '/', $url);
细分:

  • /
    匹配斜杠
  • [^/]*
    匹配一系列非斜杠字符
  • @
    @
    字符匹配
因此,这将匹配从一个
/
到下一个
@
,它们之间没有
/
。然后用斜线代替

但是,使用
parse\u url()
可能比使用regexp进行特殊解析更好

细分:

  • /
    匹配斜杠
  • [^/]*
    匹配一系列非斜杠字符
  • @
    @
    字符匹配
因此,这将匹配从一个
/
到下一个
@
,它们之间没有
/
。然后用斜线代替

但是,使用
parse\u url()
可能比使用regexp进行特殊解析更好。

使用
parse\u url()
可以:

$url = 'https://user:pass@dev.google.com';
$scheme = parse_url($url, PHP_URL_SCHEME);
$host = parse_url($url, PHP_URL_HOST);
print $scheme."://".$host;
使用
parse_url()
执行以下操作:

$url = 'https://user:pass@dev.google.com';
$scheme = parse_url($url, PHP_URL_SCHEME);
$host = parse_url($url, PHP_URL_HOST);
print $scheme."://".$host;

哪种编程语言?不要评论,只添加一个适当的标记。你使用regexp而不是
parse\u url()
,有什么原因吗?@Barmar没有任何原因,我实际上是php新手,所以我不熟悉
parse\u url()
,不过,我会看看这个,谢谢你的建议!哪种编程语言?不要评论,只添加一个适当的标记。你使用regexp而不是
parse\u url()
,有什么原因吗?@Barmar没有任何原因,我实际上是php新手,所以我不熟悉
parse\u url()
,不过,我会看看这个,谢谢你的建议!感谢它解决了我的问题,我会尽快接受答案:)那么url的情况如何呢
example.com/@username/profile
?@Philipp这就是为什么我建议使用url解析器而不是临时解析,因为它能更好地处理各种情况。感谢它解决了我的问题,我会尽快接受答案:)那么url的情况如何呢?比如
example.com/@username/profile
?@Philipp这就是为什么我建议使用url解析器而不是临时解析,因为它能更好地处理各种情况。