• 正则表达式


    正则表达式:

      正则表达式(Regular Expression,常简写为regex或者RE),又称规则表达式,它不是某个编程语言所特有的,是计算机科学的一个概念,通常被用来检索和替换符合某些规则的文本。目前,正则表达式已经在各种计算机语言(如Java、 C#和Python等)中得到了广泛的应用和发展。
          在Python中,可以使用正则表达式进行与字符串相关的一些匹配,正则表达式是一种用来匹配字符串的强有力武器,它只和字符串打交道,设计思想是用一种描述行的语言来给字符串定义一个规则,凡是符合规则的字符串就认为它“匹配”,否则就不匹配。即从大段的文字中找到符合规则的内容!!!

    字符组:

    [  ] 写在中括号中的内容,都出现在下面的某一个字符的位置上都是符合规则的

    [0-9]  匹配数字0-9

    [a-z]    匹配a到z的小写字母

    [A-Z]  匹配A到Z的大写字母

    [a-zA-Z0-9] 匹配大小写字母+数字
    [a-zA-Z0-9_] 匹配数字字母下滑线

    元字符:

    量词:

    {n}表示 这个量词之前的字符出现n次
    {n,} 表示这个量词之前的字符至少出现n次
    {n,m} 表示这个量词之前的字符出现n-m次
    ? 表示匹配量词之前的字符出现 0次 或者 1次 表示可有可无
    + 表示匹配量词之前的字符出现 1次 或者 多次
    * 表示匹配量词之前的字符出现 0次 或者 多次

    . ^ $

    正则表达

    待匹配的字符

    匹配到的结果

    说明

    结.

    结果结束结缘

    结果结束结缘

    匹配所有”海.”的字符

    ^结.

    结果结束结缘

    结果

    只从开头匹配”海.”匹配到了一个就会停

    结.$

    结果结束结缘

    结缘

    只匹配结尾的”海.”,同上面的相反

    * + ? { }

    正则表达

    待匹配的字符

    匹配到的结果

    说明

    结.?

    结果和结束和结缘

    结果

    结束

    结缘

    ?表示重复零次或一次,即只匹配"结"后面一个任意字符

    结.*

    结果和结束和结缘

    结果和结束和结缘

    *表示重复零次或多次,即匹配"结"后面0或多个任意字符

    结.+

    结果和结束和结缘

    结果和结束和结缘

    +表示重复一次或多次,即只匹配"结"后面1个或多个任意字符

    结.{1,2}

    结果和结束和结缘

    结果和

    结束和

    结缘

    {1,2}匹配1到2次任意字符

    注意:前面的*,+,?等都是贪婪匹配,也就是尽可能匹配,后面加?号使其变成惰性匹配

    正则

    待匹配字符

    匹配结果

    说明

    结.*?

    结果和结束和结缘

    惰性匹配

    正则表达式的匹配特点 :

    贪婪匹配,它会在允许的范围内取最长的结果
    非贪婪模式/惰性匹配 : 在量词的后面加上?
     .*?x 匹配任意非换行符字符任意长度 直到遇到x就停止

    2019年11月18日

  • 相关阅读:
    Spring_Bean的配置方式
    Nginx Ingress设置账号密码
    2.2.4 加减运算与溢出
    2.2.5-2 补码乘法
    2.2.3 移位运算
    flask钩子函数
    flask的cookie、session
    循环冗余校验码
    海明校验码
    python中的 __call__()
  • 原文地址:https://www.cnblogs.com/yjtxin/p/11883147.html
Copyright © 2020-2023  润新知