正则表达式

一、定界符
“/”或“#”


二、元字符
1)+ : 一次或多次
比如:/php+/,能够与“phpp”匹配,即字母ph后面连续出现一个或多个字母p的字符串相匹配。
2)* : 零次或多次,贪婪的,尽可能多的匹配文字
比如:/php*/能够与“phpddt”相匹配,即ph后面可以有0个或多个p
3)? : 零次或一次,消除贪婪
比如:/php?/能够“pher”匹配,即phh后面可以有0个或者1个p
4) \s   : 单个空格符,包括tab键和换行符  [ \f\n\r\t\v]
5) \S  :  除单个空格符之外的所有字符  [ ^\f\n\r\t\v]
6) \d  :  从0到9的数字   [0-9]
7) \D :  非数字    [^0-9]
7) \w :  字母、数字、下划线  [A-Za-z0-9_]
8) \W :  所有与\w不匹配的字符 [^A-Za-z0-9_]
9).  :  除换行符\n之外的 
10)\r : 单个回车符
示例:/\s+/用于匹配一个或多个空格字符
示例:
    

    $str = '<H1>Chapter 1 - 介绍正则表达式</H1>';
    preg_match_all('/<.*>/',$str,$matches);
    结果:<H1>Chapter 1 - 介绍正则表达式</H1>,尽可能多的匹配字符
    
$str = '<H1>Chapter 1 - 介绍正则表达式</H1>';
    preg_match_all('/<.*?>/',$str,$matches);
    结果:<H1>、</H1>,尽可能少的匹配

三、定位符,匹配模式在目标对象中的位置
1)“^”  开头
2)“$”  结尾
3)\b   开头或结尾的两个边界之一
4)“\B”  开头和结尾两个边界之内
5)()子表达式
6)

四、修饰符,改变表达式的行为
(‘/^http:\/\/([\w.]+)\/([\w]+)\/([\w]+)\.html/i‘)
”i”就是修饰符,表示忽略大小写
另外”x”表示忽略空格
/m  多行模式
/s   单行模式

五、范围
/[A-Z]/
上述正则表达式将会与从A到Z范围内任何一个大写字母相匹配。
/[a-z]/
上述正则表达式将会与从a到z范围内任何一个小写字母相匹配。
/[0-9]/
上述正则表达式将会与从0到9范围内任何一个数字相匹配。
/([a-z][A-Z][0-9])+/
上述正则表达式将会与任何由字母和数字组成的字符串
”[]”只能匹配单个字符    如[a-d],代表a或b或c或d
[^1-5],该字符不是1~5之间的数字
[-+.]\w包含任意- 或+ 或.或\w字符的组合出现0次或多次

六、限定符
如[\w]{3,5}或者[\w]*或者[\w]+这些[\w]后面的符号都表示限定符。
{3,5}表示3到5个字符。{3,}超过3个字符,{,5}最多5个,{3}三个字符。
* 表示0到多个
+ 表示1到多个

七、通配符(lookarounds):断言某些字符串中某些字符的存在与否!
lookarounds分两种:lookaheads(正向预查 ?=)和lookbehinds(反向预查?<=)。
> 格式:
正向预查:(?=) 相对应的 (?!)表示否定意思
反向预查:(?<=) 相对应的 (?<!)表示否定意思
'/(?<=c)d(?=e)/' 表示d前紧跟c,d后紧跟e
'/(?<!c)d(?!e)/' 表示d前不紧跟c,d后不紧跟e

八、同时与多种模式匹配
如/phpddt|100/可以与“phpddt” “100”相匹配

九、需要转义的字符有:
\ . * ^ & [ ] { } ? 等

十、练习
有数字、字母组成的字符串:/^[A-Za-z0-9]+$/
长度为8-10的用户密码(以字母开头、数字、下划线组成):/^[A-Za-z]\w{7,10}/
验证输入只能是汉字 : ^[\u4e00-\u9fa5]{0,}$
验证邮箱:/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值