php 正则表达式
来源:互联网 发布:二层别墅网络覆盖方案 编辑:程序博客网 时间:2024/06/15 09:31
PHP提供了一种强大的方法创建和匹配文本中的模式。可以创建一些规则来查找文本串中的模式。这些规则就称为正则表达式,或者简写为regex。
正则表达式表示要匹配的一个字符模式。常常作为验证表单的重要工具:比如电话号码域,电子邮箱域。
举个例子:/^\d\d\d$/ 来简单说明下: 所有正则表达式都是以斜线开始和结尾的,^这个表示从串的开始处匹配,$表示串必须结束。\d代表数字,这个表达式的意思是说,串必须以一个数字开头,中间是一个数字,然后以一个数字结尾,也就表示三个数字了。还可以采用一种更加简洁的方法重写这个正则表达式,这里要用到大括号,大括号用于指示重复:
/^\d{3}/ 它与上面的模式表示同样的含义。
常见的元字符:
\d:这个元字符要查找一个数字,它会匹配0到9之间的任何数字,\d本身只匹配一位数字,所以如果希望匹配一个两位数字,则要用\d\d或者\d{2}
\s:查找空白符,不只是按下空格键在屏幕上显示的空格子夫;它还能匹配制表符,换行或者回车符。同样滴,要记住\s一次只匹配一个这样的字符。如果希望匹配一行中的两个空格,则需要使用\s\s或者\s{2}
\w:查找任何字母数字字符,换句话说,可以是一个字母或者一个数字。它会匹配以下范围内的任意一个字符,包括a-z和A-Z,以及0-9
^ : 开始位置
$:结束位置
正则表达式支持一个成为量词的特性,允许指定字符或者元字符在一个模式中出现多少次:
{}:大括号相当于一个量词,指出前面的字符应当出现多少次。
{min,max}:很明显,是个范围,比如{1,3} 就是要求应当在匹配中出现1,2或者3次。
+ 前面的字符或者元字符必须重复1次或者多次。大于等于1
?:前面的字符或者元字符必须出现1次或者根本不出现。0 ,1
* :字符或者元字符可以出现1次或者多次,或者根本不出现。大于等于0
字符类,是一组匹配单个字符的规则,要指示一组字符或者元字符属于一个字符类,只需要用中括号将它们包围起来 [ ]. 例如:
[0-2] 它会匹配0,1,2
[A-D] 这会匹配A,B,C或者是D.
可以结合PHP函数preg_match()使用这些模式,这个函数取一个正则表达式模式和一个文本串,如果没有匹配,函数返回false,如果匹配,则返回true。
preg_match($regex,$onestring) $regex,要用单引号包围,第二个参数就是要检查的串了。可以利用preg_match()在脚本中支持复杂的验证功能.
if(preg_match($regx,$onesring)){
成功匹配执行代码。
}else{
不成功的话执行的代码。
}
preg_replace()函数在使用正则表达式完成模式匹配方面比preg_match()更进一步,除了确定一个给定模式是否与一个给定文本串匹配外,它还允许一个替换模式取代串中的匹配文本。
preg_replace($pattern,$replacement,$onestring)
$pattern:需要查找这些不想要的字符.
$replaement:找到一个不想要的字符时,希望把它替换为这个模式。
$onestring:要完成查找--替换的串.
$new_year = preg_replace('/200[0-9]/','2015',' 今年是2015年');
第一个正则告诉preg_replace查找2000到2009的匹配,找到匹配时,会替换为第二个参数,范围是在第三个参数中.
0 0
- php的正则表达式
- PHP 正则表达式资料
- PHP 正则表达式
- php正则表达式介绍
- PHP 正则表达式资料
- php之正则表达式
- PHP和正则表达式
- PHP常用正则表达式
- php正则表达式实例
- PHP正则表达式收集
- PHP正则表达式收集
- PHP正则表达式
- PHP中的正则表达式
- PHP中的正则表达式
- PHP和正则表达式
- PHP常用正则表达式
- php正则表达式详解
- PHP正则表达式
- 官网大全
- hdu1198 Farm Irrigation dfs
- eclipse中hibernate反创建java和hbm.xml文件
- Linux进程间通信之信号
- string替换所有指定字符串(C++)
- php 正则表达式
- css去掉iPhone、iPad默认按钮样式
- 主机名称的修改
- 本人对软件的认识
- 关于判断jsoup中元素是否能获取到的问题
- JTA 深度历险 - 原理与实现
- TCP/IP协议格式详解
- 数据库索引
- docker lxc cgroup namespace简述