php正则表达式之preg_match()用法
发布:smiling 来源: PHP粉丝网 添加日期:2014-03-17 13:14:34 浏览: 评论:0
利用 preg_match(),我们可以完成字符串的规则匹配。如果找到一个匹配,preg_match() 函数返回 1,否则返回 0。还有一个可选的第三参数可以让你把匹配的部分存在一个数组中。在验证数据时这个功能可以变得非常有用。
实例代码如下:
- <?php
- // 模式定界符后面的 "i" 表示不区分大小写字母的搜索
- if (preg_match ("/php/i", "PHP is the web scripting language of choice.")) {
- print "A match was found.";
- } else {
- print "A match was not found.";
- }
- ?>
取得当前时间
实例代码如下:
- <?php
- //需要匹配的字符串。date函数返回当前时间。 "现在时刻:2012-04-20 07:31 am"
- $content = "现在时刻:".date("Y-m-d h:i a");
- //匹配日期和时间.
- if (preg_match ("/d{4}-d{2}-d{2} d{2}:d{2} [ap]m/", $content, $m))
- {
- echo "匹配的时间是:" .$m[0]. "n"; //"2012-04-20 07:31 am"
- }
- //分别取得日期和时间
- if (preg_match ("/([d-]{10}) ([d:]{5} [ap]m)/", $content, $m))
- {
- echo "当前日期是:" .$m[1]. "n"; //"2012-04-20"
- echo "当前时间是:" .$m[2]. "n"; //"07:31 am"
- }
- ?>
这个例子将验证出此 Email 地址为正确格式。现在让我们来看看这段正则表达式所代表的各种规则。
获取Google首页title
比如说要获取google首页的title内容,代码如下:
实例代码如下:
- <?php
- $str = file_get_contents('http://www.google.com');
- preg_match('/<title>(.*)</title>/', $str, $arr);
- echo $arr[1];
- ?>
从网址获取域名
实例代码如下:
- <?php
- preg_match("/^(http://)?([^/]+)/i", "http://www.111cn.net/index.html", $matches);
- $host = $matches[2]; // 从主机名中取得后面两段
- preg_match("/[^./]+.[^./]+$/", $host, $matches);
- echo "domain name is: {$matches[0]}n";
- ?>
preg_match($pattern,$string,$matcher)其中$pattern对应的就是/^(http://)?([^/]+)/i,$string 是http://www.php.net/index.html,$match是匹配到的结果。
如果提供了 matches,则其会被搜索的结果所填充。$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包
含与第一个捕获的括号中的子模式所匹配的文本,以此类推。
$matches[0] 将包含与整个模式匹配的文本。咱们用pring_r打印出来第一个$matches:
实例代码如下:
- Array (
- [0] => http://www.111cn.net
- [1] => http://
- [2] => http://www.phpfensi.com )
$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本。在正则中,()代表模式:匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中则使用 $0…$9 属性。就是说数组中下标为1的值就是正则中/^(http://)?([^/]+)/i第一个()里的值!数组下标2的值以此类推。
Tags: preg_match
相关文章
- ·php中正则获取url函数preg_match(2014-01-15)
- ·php中正则匹配中文汉字(2014-03-12)
- ·php正则指定字符串内容preg_match函数之说明(2014-08-06)
- ·PHP的preg_match_all正则字符多次出现第一次出代码(2014-08-06)
- ·PHP中preg_match_all函数正则匹配详解(2014-09-13)
- ·PHP preg_match正则表达式的使用(2014-09-14)
- ·preg_match_all使用心得分享(2020-09-07)
- ·php中preg_match的isU代表什么意思(2021-06-19)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)