zoukankan      html  css  js  c++  java
  • 正则表达式匹配

    匹配字符串字面值

    匹配数字字符串

    • d[0-9]

    匹配非数字字符串

    • D,^d,[^0-9]

    匹配单词字符

    • w,与D的区别是D会匹配空格,标点符号等字符,w只匹配字母,数字和下划线
    • 英语环境下即:[_a-zA-Z0-9]

    匹配非单词字符

    • W,[^_a-zA-Z0-9]

    匹配空白符

    • s,[ ]
    • 制表符:
    • 换行符:
    • 回车符:

    匹配任意字符

    • 粗略匹配:.{7},任意匹配7个字符
    • 确定边界:A.{5}T,匹配A开头,T结尾,中间任意5个字符的字符串
    • 匹配某一长度的单词:w{7}
    • 匹配0个或多个字符:.*.相当于[^ ]

    边界

    行的起始和结束

    • 匹配行或字符串的起始要使用脱字符:^
    • 匹配行或字符的结尾要使用美元符号:$

    单词的边界和非边界

    *,B

    选择,分组和向后引用

    选择操作

    • 基本:(the|The|THE)

    子模式

    • 指分组中的一个或多个分组
    • 子模式可以是不依赖的(the|The|THE)
    • 也可以是依赖的(t|T)h(e|eir)
    • 括号对子模式不是必须的

    捕获分组和向后引用

    • 当一个模式的全部或部分内容由一对括号分组时,它对内容进行捕获并临时存储于内存中
    • 可以通过后向引用重用捕获的内容:1,$1,引用的是第一个捕获的分组,以此类推

    非捕获分组

    • 不会将其内容存储在内存中

    量词

    基本匹配

    • ?,0个或一个
    • +,一个或多个
    • *,0个或多个

    匹配特定次数

    • {n},精确匹配n次
    • {n,},匹配n次或多次
    • {m,n},匹配m至n次

    懒惰量词

    • 匹配尽可能少的次数,也可能不匹配任何内容,0次
    • 简单就是在量词最后加?

    占有量词

    • 尽量匹配多的内容,但与贪心匹配不同,它不进行回溯,也不会放弃找到的内容
    • 简单就是在量词最后加
  • 相关阅读:
    python 笔记——生成器和迭代器
    Python装饰器
    python 小程序—三级菜单—循环和字典练习
    python 小程序—循环和列表训练
    lvs主备可以自由切换,vip落在主上的时候,端口无法telnet,业务连接不了
    mongodb学习
    lvs DR模式
    去哪儿网mysql语法审核工具Inception正式开源
    无法远程连接ubuntu下的mysql
    值得珍藏的28本股市投资经典著作
  • 原文地址:https://www.cnblogs.com/jinkspeng/p/4503359.html
Copyright © 2011-2022 走看看