美文网首页
正则表达式

正则表达式

作者: devmao | 来源:发表于2018-12-08 17:16 被阅读7次

    最近学习正则表达式,留下读书笔记,以备查阅。

    作用

    1. 数据验证,例如验证一串字符串中是都包含手机号码、信用卡号码等;
    2. 替换文本,例如使用正则表达式来识别文档中的特定文本,完全删除该文本或用其他文本替换;
    3. 基于模式匹配从字符串中提取子字符串,例如查找文档内或输入域内特定的文本。

    语法

    • 特殊字符

    一些有着特殊含义的字符。

    字符 描述
    \ 转义字符
    ^ 匹配输入字符串的开始位置;取非
    $ 匹配输入字符串的结束位置
    . 匹配换行符\n之外的任何单字符
    • 限定符

    用来指定正则表达式的一个给定组件必须出现多少次才能满足匹配。

    字符 描述
    * 匹配前面的子表达式 零次 或 多次
    + 匹配全面的子表达式 一次 或 多次
    匹配前面的子表达式 零次 或 一次
    {n} 匹配确定的n次(n是一个自然数)
    {n,} 匹配至少n次(n是一个自然数)
    {n,m} 匹配至少n次,至多m次(n,m是一个自然数, n <= m)

    元字符

    字符 描述
    x|y 匹配x或y。例如:z|food 能匹配“z”或“food”。
    [xyz] 字符集合。匹配所包含的任意一个字符。
    [^xyz] 负值字符集合。匹配未包含的字符集合。
    [a-z] 字符范围。匹配指定范围内的任意字符。
    [^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符。
    \b 匹配一个单词边界,也就是指单词和空格的位置。
    \B 匹配非单词边界,er\B 能匹配 verb 中的 er,但不能匹配 never 中的 er。
    \d 匹配一个数字字符。等价于[0-9].
    \D 匹配一个非数字字符。

    运算符优先级

    正则表达式从左到右进行计算,并遵循下表优先级顺序(自上而下,从最高到最低)。

    运算符 描述
    \ 转义符
    (), (?:), (?=), [] 圆括号和方括号
    *, +, ?, {n}, {n,}, {n,m} 限定符
    ^, $, \ 任何元字符、任何字符 定位点和序列
    | 替换,或 操作

    相关文章

      网友评论

          本文标题:正则表达式

          本文链接:https://www.haomeiwen.com/subject/uxnqhqtx.html