php正则表达式域字符串是否有www和顶级域 当我谈到正则表达式时,我是一个业余爱好者,但我认为我有以下三个领域 www.google.com www.google.co.uk google.com
我想创建一些正则表达式来测试域名是否有www和.co.uk或.comphp正则表达式域字符串是否有www和顶级域 当我谈到正则表达式时,我是一个业余爱好者,但我认为我有以下三个领域 www.google.com www.google.co.uk google.com,php,regex,string,dns,Php,Regex,String,Dns,我想创建一些正则表达式来测试域名是否有www和.co.uk或.com 有人知道一些正则表达式会测试这个吗?你不需要正则表达式,你可以使用据说比正则表达式更快的strpos if ( strpos('www.', $mystring) !== false ) { //www was found in the string } else { //www was not foun in the string } 如果你真的想慢一点,使用正则表达式,你可以像这样测试所有的正则表达式 p
有人知道一些正则表达式会测试这个吗?你不需要正则表达式,你可以使用据说比正则表达式更快的strpos
if ( strpos('www.', $mystring) !== false ) {
//www was found in the string
} else {
//www was not foun in the string
}
如果你真的想慢一点,使用正则表达式,你可以像这样测试所有的正则表达式
preg_match('/www|\.com|\.co\.uk/', $mystring);
例如,如果您不想为www应用与.com不同的逻辑,您可以使用
preg_match('/www/', $string);
preg_match('/\.com/', $string);
preg_match('/\.co\.uk/', $string);
你不需要正则表达式,你可以使用strpos,据说它比正则表达式快
if ( strpos('www.', $mystring) !== false ) {
//www was found in the string
} else {
//www was not foun in the string
}
如果你真的想慢一点,使用正则表达式,你可以像这样测试所有的正则表达式
preg_match('/www|\.com|\.co\.uk/', $mystring);
例如,如果您不想为www应用与.com不同的逻辑,您可以使用
preg_match('/www/', $string);
preg_match('/\.com/', $string);
preg_match('/\.co\.uk/', $string);
试试这个:
/^www.*(?:com|co\.uk)$/
试试这个:
/^www.*(?:com|co\.uk)$/
简单的
有条件的
$ar = array();
$t = array("www.google.com","www.google.co.uk","google.com","www.google");
foreach ($t as $str) {
switch (true) {
case preg_match('/^www\.(.*)$/',$str) :
// code
case preg_match('/^(.*)(\.co.uk)$/',$str) :
// code
case preg_match('/^(.*)(\.com)$/',$str) :
// code
break;
}
}
简单的
有条件的
$ar = array();
$t = array("www.google.com","www.google.co.uk","google.com","www.google");
foreach ($t as $str) {
switch (true) {
case preg_match('/^www\.(.*)$/',$str) :
// code
case preg_match('/^(.*)(\.co.uk)$/',$str) :
// code
case preg_match('/^(.*)(\.com)$/',$str) :
// code
break;
}
}
从你的问题中我了解到,域名需要以www开始,以.co.uk或.com结束。下面是RegExp:
<?php
$domains = array(
"www.google.com",
"www.google.co.uk",
"google.com"
);
foreach($domains as $domain){
echo sprintf(
"%20s -> %d\n",
$domain,
preg_match("@^www\\..+(\\.co\\.uk|\\.com)$@", $domain)
);
}
?>
从你的问题中我了解到,域名需要以www开始,以.co.uk或.com结束。下面是RegExp:
<?php
$domains = array(
"www.google.com",
"www.google.co.uk",
"google.com"
);
foreach($domains as $domain){
echo sprintf(
"%20s -> %d\n",
$domain,
preg_match("@^www\\..+(\\.co\\.uk|\\.com)$@", $domain)
);
}
?>
你真的需要使用正则表达式吗?你真的需要使用正则表达式吗?