正则表达式

一、正则表达式语法规则
        描述了一类字符串的特征,然后通过这个特征可以配合一些特定的函数,来完成对字符串更加复杂的一系列操作! 
        普通字符和特殊字符组成的一个字符串
二、定界符
    我们一般习惯使用正斜线"/"作为定界的字符,前后一致 ,除了字符数字反斜线外都可以作为定界符比如
   #test# !test! 都是可以的 三、普通字符 比如a-z 0-9 A-Z 双引号 单引号 他们没有特殊的含义 需要转义'/te\'st/' 单引号转义
四、元字符
  元字符指的是在正则表达式有特殊函数的字符。 \d 匹配任意一个十进制数字,等价于[
0-9] \D 匹配任意一个除十进制数字以外字符,等价于[^0-9] \s 匹配任意一个空白字符,比如换页符、换行符、回车符、制表符、垂直制表符 \S 匹配除空白字符以外的任何一个字符 \w 匹配任意一个数字或字母或下划线 \W 匹配除数字、字母、下划线以外的任意一个字符 . 匹配除换行符以外的任意一个字符 * 匹配0次、或1次、或多次其前面的字符 + 匹配1次或多次其前面的字符 ? 匹配0次或1次其前面的字符 {n} 表示其前面字符恰好出现n次 {n,} 表示其前面字符出现不少于n次 {n,m} 表示其前面的字符至少出现n次,最多出现m次 ^或\A 匹配字符串开始位置 $或者\Z 匹配字符串的结束位置 | 匹配两个或多个模式 [] 匹配方括号中的任意一个字符 [^] 匹配除方括号中字符以外的任意一个字符
   ()将括号中作为一个整体一遍将其中的内容获取 也就是分组的意思
与正则表达式配合的函数
preg_filter — 执行一个正则表达式搜索和替换
2. preg_grep — 返回匹配模式的数组条目
3. preg_last_error — 返回最后一个PCRE正则执行产生的错误代码
4. preg_match_all — 执行一个全局正则表达式匹配
5. preg_match — 执行一个正则表达式匹配-出现一次就不再匹配了
6. preg_quote — 转义正则表达式字符
7. preg_replace_callback_array — Perform a regular expression search and replace using callbacks
8. preg_replace_callback — 执行一个正则表达式搜索并且使用一个回调进行替换
9. preg_replace — 执行一个正则表达式的搜索和替换
10. preg_split — 通过一个正则表达式分隔字符串

 

<?PHP
    // 定义要匹配的正则表达式
    $a='/te/';
    // 定义字符串
    $str="testtetstett";
    var_dump(preg_match_all($a,$str)); //返回int 3  匹配上3次
?>
<?PHP
    // // 定义要匹配的正则表达式
    // $a='/te/';
    // // 定义字符串
    // $str="testtetstett";
    // var_dump(preg_match_all($a,$str)); //返回int 3  匹配上3次

    // 元字符 *
    // 表示e可以出现0次或1次 或n次
    // $pattern='/te*/';
    // echo preg_match_all($pattern,'teeeeeeeeeee');   //返回匹配上1次


    $pattern='/te{2}st/';
    echo preg_match_all($pattern,'teest');   //返回匹配上1次




?>
<?PHP

    /* 
        ()将括号的内容获取到
        后面添加\\数字 来代表圆括号部分匹配的内容
    */

    $pattern='/t(e)s(t)\\1/';  //  \\1代表第一个圆括号部分所在的内容
    echo preg_match_all($pattern,'teste',$arr);   //  \\1就相当于第一个圆括号中的e
    print_r($arr);

?>

模式修正符

  模式修正符是正则表达式的定界符之后使用的,可以调整正则表达式的解释,扩展正则表达式的匹配、

替换等操作时的某些功能,增强正则表达式的处理能力

    常见模式修正符
    i    在和模式进行匹配时不区分大小写
    m    多行匹配,如果目标字符串 中没有"\n"字符, 或者模式中没有出现^或$, 设置这个修饰符不产生任何影响
    s    如果设定了此修正符,那么.将匹配所有的字符包括换行符
    U    禁止贪婪匹配

 

posted @ 2019-11-13 08:19  WhiteSpace  阅读(563)  评论(0编辑  收藏  举报