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中正则表达式中的特殊符号

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

Python3 正则表达式特殊符号及用法(详细列表)

Python3 正则表达式特殊符号及用法(详细列表) 正则表达式的强大之处在于特殊符号的应用,特殊符号定义了字符集合、子组匹配、模式重复次数。正是这些特殊符号使得一个正则表达式可以匹配字符串...
  • riba2534
  • riba2534
  • 2017年01月09日 14:20
  • 2229

正则表达式中的特殊符号 及实例

简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。其作用如下: 测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码...
  • name_liweibin
  • name_liweibin
  • 2013年09月06日 16:18
  • 8680

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

字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\' 匹配 "" 而 "\(...
  • libo_sina
  • libo_sina
  • 2012年07月10日 09:50
  • 517

PHP 正则表达式特殊字符 [:alnum:] [:alpha:] 等

原文地址:http://www.cnblogs.com/devcjq/articles/5095453.html PHP 正则表达式特殊字符 [:alnum:] [:alpha:] 等 ...
  • luomao2012
  • luomao2012
  • 2017年10月25日 10:28
  • 119

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

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

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

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

数字字母特殊字符两两混合正则表达式1

  • 2016年02月06日 13:53
  • 799B
  • 下载

正则表达式不包涵特殊字符(除了 指定字符 以外)

  • 2014年11月14日 17:11
  • 13KB
  • 下载

数字字母特殊字符两两混合正则表达式

  • 2016年02月06日 13:50
  • 670B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP正则表达式中的特殊规则……
举报原因:
原因补充:

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