• 正则表达式


    正则表达式:正则表达式是对字符串操作的一种逻辑公式,就是用实现定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

    字符组:[字符组]

      在同一位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示

      字符分为很多类,比如数字、字母、标点等。

    [0-9] 匹配数字
    [a-z] 匹配小写字母
    [A-Z] 匹配大写字母
    [a-zA-Z] 匹配大小写字母
    [a-zA-Z0-9] 匹配大小写字母+数字
    [a-zA-Z0-9_] 匹配数字字母下划线

    元字符:

    元字符 匹配内容
    . 匹配除换行符以外的任意字符
    w  匹配字母或数字或下划线
    s 匹配任意的空白符(换行符、制表符、空格)
    d 匹配数字
    匹配一个换行符
    匹配一个制表符
     匹配一个单词的结尾或开头
    ^ 匹配字符串的开头
    $ 匹配字符串的结尾
    W 匹配非字母数字下换线
    D 匹配非数字
    S 匹配非空白符
    a|b 匹配字符a或字符b(将复杂的放在前面)
    () 匹配括号内的表达式,也表示一个组
    [...] 匹配字符组红的字符
    [^...] 匹配除了字符组中字符的所有字符

    量词:

    量词 用法说明
    {n} 重复n次
    {n,} 重复n次或多次
    {n,m} 重复n到m次
    ? 重复1次或0次
    + 重复1次或多次
    * 重复0次或多次

    正则表达式的匹配特点:贪婪匹配

      它会在允许的范围内取最长的结果

      非贪婪模式/惰性匹配:在量词的后面加上?

      .*?x 匹配任意非换行符字符任意长度 直到遇到x就停止

    练习:

      匹配整数:d+

      匹配小数:d+.d+

      匹配小数或整数:d+.d+|d+

              d+(.d+)

      匹配身份证号码:[1-9]d{16}[dX]|[1-9]d{14}

              [1-9]d{14}(d{2}[dX])?

  • 相关阅读:
    页面反向映射之文件页面
    页面反向映射之匿名页面
    cp so文件导致进程SIGBUS或者SEGV原因分析
    由systemtap直接修改内核代码段想到的
    epoll的内核实现
    从一些现象看printf的缓冲机制
    Linux由浅入深学习 (转)
    每天一个Linux命令 (转)
    Redis与数据库同步问题
    PHP使用文件流下载文件方法(附:解决下载文件内容乱码问题)
  • 原文地址:https://www.cnblogs.com/qq849784670/p/9488615.html
Copyright © 2020-2023  润新知