我以前从未使用过正则表达式,我被要求从 URL 中删除该方案。这将使 URL 从http://www.foo.com转换为 //www.foo.com。
我只是想知道这是否可能?并知道是否有人知道任何教程或网站,这将帮助我作为一个绝对的初学者。
感谢您提供的任何帮助。
我以前从未使用过正则表达式,我被要求从 URL 中删除该方案。这将使 URL 从http://www.foo.com转换为 //www.foo.com。
我只是想知道这是否可能?并知道是否有人知道任何教程或网站,这将帮助我作为一个绝对的初学者。
感谢您提供的任何帮助。
你可以用基本的字符串操作来做到这一点,我会推荐它而不是正则表达式。
但是,如果您坚持使用正则表达式,这里有一个正则表达式,如果与您正在使用的任何语言的正则表达式替换结合使用,它将执行此操作:
^http:
^\ /
| \ /
| `- Match this string literally
|
`- Match at start of string
如果您还要删除https:
它,它将如下所示:
^https?:
^\ /^^^
| \/ |||
| | ||`- Literally match `:`
| | |`- Previous is optional (literal s)
| | `- Literally match s
| `- Match this string literally
|
`- Match at start of string
这些都假设您只检查确切的 URL,如果您想检查字符串中的任何位置,您可以替换用于单词边界的^
锚(字符串开头) :\b
\bhttps?:
\/\ /^^^
| \/ |||
| | ||`- Literally match `:`
| | |`- Previous is optional (literal s)
| | `- Literally match s
| `- Match this string literally
|
`- Word boundary (typically whitespace, but also `][` and so on
使正则表达式用 '' (空字符串)替换与该模式匹配的所有内容。我建议i
为不区分大小写的匹配添加一个标志。
这是一个关于正则表达式的好教程网站:http ://www.regular-expressions.info/
下面是 PHP 中的一个示例:
<?php
$url = 'http://www.foo.com';
$url = preg_replace('/^http:/i', '', $url);
print "{$url}\n";
?>