• 正则表达式


    1,元字符

    ^" :^会匹配行或者字符串的起始位置,有时还会匹配整个文档的起始位置。 

       "$"  :$会匹配行或字符串的结尾

     "" :不会消耗任何字符只匹配一个位置

    "d": 匹配数字,

     "w":匹配字母,数字,下划线.

     "s":匹配空格 

    ".":匹配除了换行符以外的任何字符

    "[abc]": 字符组  匹配包含括号内元素的字符 

      "W"   匹配任意不是字母,数字,下划线 的字符

       "S"   匹配任意不是空白符的字符

     "D"  匹配任意非数字的字符

       "B"  匹配不是单词开头或结束的位置

       "[^abc]"  匹配除了abc以外的任意字符

    2,限定符

    "*?"   重复任意次,但尽可能少重复 

    "+?"  重复1次或更多次,但尽可能少重复

    "??"  重复0次或1次,但尽可能少重复

    "{n,m}?"  重复n到m次,但尽可能少重复

    "{n,}?"    重复n次以上,但尽可能少重复

    3,捕获分组

    "(exp)"    匹配exp,并捕获文本到自动命名的组里

    "(?<name>exp)"   匹配exp,并捕获文本到名称为name的组里

    "(?:exp)"  匹配exp,不捕获匹配的文本,也不给此分组分配组号

    以下为零宽断言

    "(?=exp)"  匹配exp前面的位置

      如 "How are you doing" 正则"(?<txt>.+(?=ing))" 这里取ing前所有的字符,并定义了一个捕获分组名字为 "txt" 而"txt"这个组里的值为"How are you do";

    "(?<=exp)"  匹配exp后面的位置

      如 "How are you doing" 正则"(?<txt>(?<=How).+)" 这里取"How"之后所有的字符,并定义了一个捕获分组名字为 "txt" 而"txt"这个组里的值为" are you doing";

    "(?!exp)"  匹配后面跟的不是exp的位置

      如 "123abc" 正则 "d{3}(?!d)"匹配3位数字后非数字的结果

    "(?<!exp)"  匹配前面不是exp的位置

      如 "abc123 " 正则 "(?<![0-9])123" 匹配"123"前面是非数字的结果也可写成"(?!<d)123"

     

  • 相关阅读:
    零基础入门学习python--第一章
    mount: no medium found on /dev/sr0 找不到介质
    linux中shell变量$#,$@,$0,$1,$2的含义解释
    ospf多区域实例配置
    Linux查看cpu信息
    ethtool查看网卡以及修改网卡配置
    circusctl命令在ubuntu 上执行,卡住的现象处理。
    ubuntu 16.04.1 LTS zabbix-agent安装
    ubuntu 16.04.1 LTS 初始化
    Ubuntu开机启动的方式
  • 原文地址:https://www.cnblogs.com/wpjzh/p/12195440.html
Copyright © 2020-2023  润新知