码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2016-09-12 18:36:08      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

平常很少用到正则表达式,因为在字符串那部分已经有很多函数,可以实现大部分需要的功能,比如字符串查找,截取,拼接,代替....但是在某些时候,PHP自己定义的字符串函数并不能解决复杂一点的问题。具体情况就看一下部分:

以下实例都是用 int preg_match_all($search,$str,$arr); 这个函数就是在$str中查找是否存在$search,并将结果保存在$arr中。先看参数,$str就是现有的、提供给你的,查找的范围就是这个字符串;$search为需要匹配的字符串,也就是查字典需要查的字;而$arr则是查询结果集,是一个数组。可用print_r()或者var_dump()打印结果。

例1、简单匹配字符串

<?php  
	$search=‘/test/‘;
	$str=‘asfkljsdfgtestkjflstestjfkls‘;
	$num=preg_match_all($search,$str,$arr);
	print $num;
	print_r($arr);
?>

 

 输出:2     Array ( [0] => Array ( [0] => test [1] => test ) )

表示在$str中匹配到两次‘test’。$search中需要的字符串用双斜线扩(//  称为分隔符)起来,还可以用||,##,!!,@@等扩起来。

一、元字符
常用的元字符:
\d 匹配一个数字字符
\D 匹配一个非数字字符
\s 匹配任意空白符(换行、空格、制表符等)
\S 匹配任意非空白符
\w 匹配字母、数字、下划线或者汉字
\W 匹配除字母、数字、下划线或者汉字以外的字符
\b 匹配单词的开始或结束
\B 匹配的不是单词的开始或结束
. 匹配出换行符意外的任意字符
^ 匹配字符串的开始
$ 匹配字符串的结束
- 表示范围
[] 表示匹配括号中的某一个字符,记住是一个
[^x] 匹配出x以外的任意字符
* 匹配前面一个字符出现0次,1次,或者多次
+ 匹配前面一个字符出现1次,或者多次
匹配前面一个字符出现0次,或者1次
{n} 匹配前面一个字符干好出现n次
{n,} 匹配前面一个字符至少出现n次
{n,m} 匹配前面一个字符至少出现n次,最多不超过m次
虽然元字符有这么多,但我已经按照规律排列好了,很好记忆。
例2、以{n,m}为例
<?php  
	$search=‘/te{3,5}st/‘;
	$str=‘abcteestabcteeestabc‘;
	$num=preg_match_all($search,$str,$arr);
	print $num;
	print_r($arr);
?>

 输出:1    Array ( [0] => Array ( [0] => teeest ) )

 



正则表达式

标签:

原文地址:http://www.cnblogs.com/-beyond/p/5865563.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!