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

    一.正则表达式

    1.定义一个规则,检测某一段字符串是否符合规则,将符合规则的字符匹配出来。

    2.只和字符串相关

    3.字符组

    描述一个字符位置的内容

    3.1    [012345]检测0,1,2,3,4,5

    3.2    [0-5]检测从0到5

    3.3    不能是[9-5],不能由大到小来规定范围。

    3.4    字符组的所有范围是指向ascii

    3.5    [A-Z0-9a-z]   这里无逗号,分隔符

    4.元字符:优先级从左至右

    元字符                                属性     
    d 匹配数字digit
    w 匹配字母或数字或下划线word
    s 匹配任意空白(包括制表符,换行符,空格)space
    D 匹配非数字
    W 匹配非字母或数字或下划线
    S 匹配非空白字符
    匹配换行符
    匹配制表符Tab
     匹配一个单词结尾,开头结尾都可以
    . 匹配换行符之外的所有
    ^ 匹配字符串的开始
    $ 匹配字符串的结束
    () 匹配括号内的表达式,也表示一个组
    a|b 匹配字符a或者b
    [] 匹配字符组内的字符
    [^     ] 匹配除了字符组的所有字符

    5.量词

    量词 用法说明
    * 重复0次或者多次
    + 重复一次或更多次
    重复0次或者1次
    {n} 重复n次
    {n,} 重复n次或者多次
    {n,m} 重复n到m次
    示例 匹配项
    d+.d+ 小数
    [1-9]d*|0 整数
    d+.d+|([1-9]d*|0) 整数或小数
    d+.?d* 整数或小数
    d+(.d+)  

    注意:d+.d*  这里会匹配出【1.】满足了条件  这样是不合理的。

    5.贪婪匹配

    在满足匹配时,匹配尽可能长的字符串,默认情况下,采用贪婪匹配。

    * 无线匹配
    + 至少匹配一次
    孙.{1,3} 孙匹配最多三次(贪婪)

    6.转义

    r:在字符串前加r,让整个字符串不转义。

    7.惰性匹配

    手动设置,尽可能少的匹配。

    示例             用法
    a.* 以a开头任意字符
    a.*? ?控制.*  非贪婪取最少次
    a.*x 首个a与最后一个x,连同之间都取出来(回溯算法)
    a.*?x 首个a与首个x,连同之间都取出来

    8.总结:

    8.1 ret=sorted(list)      占内存,生成一个新的列表

    8.2ret=reversed(list)      可迭代的iterator,用list包装

    注意:list本身提供方法,对list自身进行修改。

       内置函数是在生成一个新的

    8.3 random 不重复随机数据    

          choice   可能出现重复的数据

    8.4

    length//2===》abcabc》range(1,3)=》ab

    length//2+1===》abcabc》range(1,4)=》abc

    8.5

    全球时间戳一样,只是结构化时间不一样  东八区北京和伦敦的时间区别

    8.6

    双端队列和列表区别:

    效率——底层数据结构上 

    8.9

    repr函数:

    repr() 函数将对象转化为供解释器读取的形式。(之前掉过坑  print没打印出换行符,但是加了repr就显示出来了)

  • 相关阅读:
    Z遮罩层完全覆盖页面
    页面加载完成时
    文字超出不换行,用省略号表示
    去掉最后一个元素的边线
    电话点击即可拨打
    制作对话的三角形
    active在iphone上不起作用
    jquery选择后代以及toggle,toggleClass用法
    button点击变换颜色时出现一个蓝色边框
    表格边框的实现
  • 原文地址:https://www.cnblogs.com/Zhao159461/p/10572336.html
Copyright © 2011-2022 走看看