如何匹配以端口号
结尾的以下链接结构像
这样的链接https://www.some_thing.com:13306
http://www.some_thing.com:13306
www.some_thing.com:13306
some_thing.com:13306
示例
$link1 = "http://www.some_thing.com:13306"; // will be true
$link2 = "http://www.some_thing.com/lol"; // will be false
所以任何人都可以帮我找到匹配此类链接的正则表达式,因为它基于:
,然后跟着数字可能是匹配这种类型的关键。
〜谢谢
答案 0 :(得分:2)
当然 - 它应该像/:\d+$/
一样简单:
if (preg_match('/:\d+$/', $url)) {
echo 'It has a port';
} else {
echo 'It does not have a port';
}
<强>尸检:强>
:
- 文字:
字符\d+
- 匹配一次或多次的数字$
- 字符串必须在这里结束。最后一个匹配和字符串结尾之间没有任何内容答案 1 :(得分:1)
这也有效;)
<?php
$link1 = "http://www.some_thing.com:13306";
if(is_numeric(array_pop(explode(':',$link1))))
{
echo "Valid URL";
}
else
{
echo "Illegal URL";
}