PHP正则表达式中的特殊规则……

原创 2006年06月01日 14:12:00

平常工作中大多都在用perl编程,今天突然有个问题需要用php解决,翻开php的手册,发现了一个特殊的例子,引起了我的注意,平时养成喜欢专研的我费了1个小时才终于弄明白其中的道理,特意发个blog以加深记忆。

例子如下:

<?php
// get host name from URL
preg_match("/^(http:////)?([^//]+)/i"
"http://www.php.net/index.html", $matches);
$host = $matches[2
];

// get last two segments of host name
preg_match("/[^/.//]+/.[^/.//]+$/", $host, $matches
);
echo
"domain name is: {$matches[0]}/n"
;
?>

解释:

1、preg_match("/^(http:////)?([^//]+)/i""http://www.php.net/index.html", $matches);
上面这条语句中出现了两个 "^"字符,可意义完全不同,第一个表示“以XXX开头”,而第二个则表示“非XXX”的意思,因此以上正则表示的意思是:查找以http://开头(或没有http://)而不包含"/"的字串。

所以它会找出:“www.php.net”部分。

2、preg_match("/[^/.//]+/.[^/.//]+$/", $host, $matches);
表示:要找出由不包含"."和“/”的若干字符组成的两个字串,中间带一个".".

所以最张的输出结果是:domain name is: php.net

(全文完)

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

php正则表达式中特殊字符及用法

字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\' 匹配 "" 而 "\(....

php中正则表达式中的特殊符号

字符/ 意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符,不作解释。 例如:/b/匹配字符'b',通过在b 前面加一个反斜杠,也就是/b/,则该字符变成特殊字符,表示 匹配一个...

php中正则表达式中的特殊符号

字符/ 意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符,不作解释。 例如:/b/匹配字符'b',通过在b 前面加一个反斜杠,也就是/b/,则该字符变成特殊字符,表示 匹配一个单词的分界线...

PHP核心技术与最佳实践之正则表达式匹配规则

PHP核心技术与最佳实践之正则表达式匹配规则 本文介绍几种常用的匹配规则。 1.     字符组 查找数字、字母、空白很简单,因为已经有了对应这些集合的元字符,但是如果匹配没有预定义元字符的字符...

html正则表达式验证标签只能输入数字,英文。电话号码格式……

常用HTML正则表达式       1.只能输入数字和英文的:             onbeforepaste="clipbo...

理解记忆正则表达式特殊字符

常用的元字符: \b 代表的是单词的开始或者结尾 因为开始的单词是begin .  代表的是除了换行符以外的所有字符 \w 匹配任意的字母数字或者下划线或者汉字 word \s 匹配任意的空白符 包...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)