9.2.4 正则表达式中的原子2

9.2.4 正则表达式中的原子2

原子是正则表达式的最基本的组成单元,而且在每个模式中最少要少包含一个原子。原子是由所有那些未显示指定为元字符的打印和非打印字符组成,具体分为5类。
1. 普通字符作为原子: 如 az、AZ、0~9 等
2. 一些特殊字符和转义后元字符作为原子:
所有标点符号,但语句特殊意义的符号需要转义后才可作为原子,如:\” \’ * + ? . 等
3. 一些非打印字符作为原子: 如:\f \n \r \t \v \cx
4. 使用“通用字符类型”作为原子:如:\d \D \w \W \s \S。
5. 自定义原子表([])作为原子:如:’/[apj]sp/’ ’/[^apj]sp/’

01.png
02.png

test.php

<?php

/*
 * 原子: 
 *
 *  1. 打印字符(a-z A-Z 0-9 !@#$%^&*()_+) 和非打印字符
 *
 *
 *
 *  \ 转义字符
 *
 *  一、 可以将有意义的字符转成没有意义的原子字符  (将有意义变成原子)
 *  二、 可以将没有意义的字符转成有意义的原子
*   三、 a-z A-Z 0-9 _   所有没有意义的字符, 加上转义也没有意义的, \@ 都是可加可不加的
*
*
*   2.  所有的数字, 所有的字, 所有的空白, 所有字母, 特殊符号
*
*
*   \d     代表任意一个数字     [0-9]
*   \D     代表任意一个非数字   [^0-9]
*
* 
*   \w     代表任意一个字  a-z A-Z 0-9 _   [a-zA-Z_]
*   \W     代表任意一个非字 除了 a-z A-Z 0-9 _之外的所有字符   [^a-zA-Z0-9_]
*
*
*   \s   代表空白    [\t\n\f\v]
*   \S   代表非空白 [^\t\n\f\v]
*
*
*   3. 自己定义原子表
*
*   [13579]
*   [^a-zA-Z]  -从哪到哪区间范围  ^除列表中的
*
*
*   4 点(.)能代表所有的
 *
 */
    $str = "fdsaf3ds2af4dsaf8dsafdsa";

    
    $reg = '/[^a-zA-Z]/';


    if(preg_match($reg, $str, $arr) ) {
        echo "正则表达式 <b>{$reg}</b> 和字符串 <b>{$str}</b> 匹配成功!<br>";
        print_r($arr);
    
    } else {
        echo "没有匹配上<br>";
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容