PHP 之 字符串和正则表达式

1. 中括号

  [0~9]      匹配0~9十进制数字

  [a~z]     匹配小写a~z字符

  [A~Z]      匹配A到Z大写字符

  [A~Za~z]  匹配大写A到小写z字符

2.量词

  p+ 匹配任何一个至少包含一个p的字符串

  p* 匹配任何包含零个或者多个p的字符串

  p? 匹配任何包含零个或者1个的字符串 

  p{2} 匹配任何包含两个连续p的字符串

  p{2,3} 匹配任何包含两个或者三个连续p的字符串

  p{2,} 匹配任何至少包含两个连续p的字符串

  p$ 匹配任何以p结尾的字符串

  ^p 匹配任何以p开头的字符串

  [^a-zA-z] 匹配任何不包含A~z的字符串

  p.p 匹配任何包含字符p,接下来是任何字符,再接下来又是p的字符串

  ^.{2}</b> 匹配任何只包含两个字符的字符串

  <b>(*.)</b> 匹配任何被<b></b>包围的字符串

  p(hp)* 匹配任何包含一个p,p后面是零个或者多个hp的字符串

3.预定义字符范围

  [:alpha:]  小写和大写字母字符串

  [:alnum:]  小写和大写字母以及数字

  [:cntrl:]  控制字符,如退格符 反斜线

  [:digit:]  0~9数字

  [:graph:]  ASCII33~126 可打印字符

  [:lower:]  小写字母

  [:punct:]  标点符号

  [:upper:]  大写字母

  [:space:]  空白字符

  [:xdigit:] 十六进制字符

4. 符号解释

  $表示行结尾,"de$",表示以de结尾的字符串。

  ^表示行开始如"^de", 表示以de开头的字符串

  () 标记一个子表达式开始和结束位置

  \  将下一个字符标记为特殊字符,或原义字符

  *  匹配前面的子表达式零次或者多次

  [abc] 字符集合,匹配所包含的任意一字符  例如 '[abc]' 可以匹配"plain" 中的a

  [^abc]  

  {n,m} 最少匹配n次,最多匹配m次  例如 o{1,3} 将匹配 "fooo" 中的前三个o

5.模式修饰符

  i  忽略大小写

  m  多文本模式

  s  单文本模式

  x  忽略空白字符

   

 

    #搜索字符串7个函数:ereg(),ereg_replace(),eregi(),eregi_replace(),split(),sql_regcase()


    #eregi()

    #ereg() 根据定义的模式以区分大小写的方式搜索字符串,找到return true else return false 

    #定界符 通常使用"/"作为定界符开始和结束,也可以使用#
    # 什么时候使用"#"呢?一般是在你的字符串中有很多"/"字符的时候


    #preg_match() 进行正则表达式匹配,只匹配一次 return 1,otherwise 0
    #preg_match("正则表达式","被匹配的字符串",存放结果的变量名,PREG_OFFSET_CAPTURE(表示匹配的索引位置),起始偏移量(从指定位置开始匹配))

    //if(preg_match("/a/","qwertayuio")){ //匹配字串中是否包含a字符
    //if(preg_match("/(abc)/","qwerta bcayuio")){ //匹配字串中是否包含abc字串
    //if(preg_match("/[abc]/","qwertbycuiop")){ //匹配字串中是否包含a、b或c字字符
    //if(preg_match("/[0-9]/","qwertbycuiop")){ //匹配字串中是否包数字
    //if(preg_match("/[a-z]/","12345a6789")){ //匹配字串中是否包小写字母
    //if(preg_match("/[0-9]{2}/","qwe89rqw9re8qwer",$a)){ //匹配字串中是否包两位的数字
    //if(preg_match("/[0-9]{2,}/","qwe12rqw9re8qwer",$a)){ //匹配字串中是否包至少两位的数字
    if(preg_match("/[0-9]{2,4}/","qwe12567rqw9re8qwer",$a)){ //匹配字串中是否包至少两位到4位的数字
        echo "匹配!";
    }else{
        echo "不匹配!";
    }

    echo $a[0];

 

 

 

 

转载于:https://www.cnblogs.com/monkey1219/p/7894341.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值