zoukankan      html  css  js  c++  java
  • python编程基础之三十八

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

    • 需要引入内置模块re

    • 缺点:效率低下,能用字符串方法完成尽量使用字符串的方法

    • 优点:编码简单

    原子       含义

    d      0-9中的任意一个字符

    D      排除0-9

    s       , , ,空格等字符中的一个

    S      排除s

    w      数字字母下划线

    W        排除w

    []       自定义的原子表

    [^]      排除自定义的原子表

    ^       行首,

    ¥      行尾

      .      表示出 以外的任何字符,

          词边界

    B      非词边界

    A      字符串首

          字符串结尾

     -         表示域,一个范围,比如1-9,1到9中的任意一个

    -----------------------------------------------

    元字符      含义

    {}       表示重复原子次数

    {m}       表示重复原子m次

    {m,n}      表示重复原子最少m次,最多n次

    {m,}        表示重复原子最少m次,无上限

    ()       改变优先级,取子元素

      *        连续出现重复至少0次,意思出没出现没关系,但是存在贪婪性,

    +         至少出现一次,存在贪婪性

    ?         出现0次或1次

    *?,+?        取消贪婪

    |       或       

    ----------------------------------------------------------------------

    模式修正符

    修饰符      含义

    re.S       使 . 匹配所有字符

    re.L       本地识别化

    re.U      根据Unicode字符解析字符吗,会影响,B,w,W

    re.l       不区分大小写

    re.M      多行匹配

    ------------------------------------------------------------------------

    • 模式字符串一定要使用原字符串,也就是用r开头的字符串。r'www'

    • 严格区分大小写

    • 如果正则表达式中有{,},[,],-,?,*,|^,$,.等做普通字符,则要将其转义

    正则常用的函数方法

    re.match()字符串开头开始匹配,只匹配开头

    re.search()从开始开始匹配,但是不限于只匹配开头,中间的也行

    re.findall()找出所有符合规则的并以列表的形式返回

    re.split()根据模式拆分

    re.sub,re.subn:在目标字符串中以正则表达式的规则匹配字符串,再把他们替换成指定的字符串。可以指定替换的次数,

        如果 不指定,替换所有的匹配字符串

    前者返回一个替换后的字符串,后者返回一个元组,第一个元素替换后的字符串

    re.group()和re.groups():用于提取子元素,模式中一个括号就是一个子元素,group和groups只能在match和search方法里使用,

    通过返回的match object获取子元素。在模式串和sub和subn中的替换字符串中可以使用1,2,3....来引用子元素

    compile():就是把规则存储起来,不需要多次解释,提高运行速度

  • 相关阅读:
    spring MVC 整合mongodb
    Spring Data MongoDB example with Spring MVC 3.2
    SpringMVC整合Mongodb开发 架构搭建
    spring MVC、mybatis配置读写分离
    淘宝网架构分享总结[转]
    淘宝分布式数据层:TDDL[转]
    基于XMPP实现的Openfire的配置安装+Android客户端的实现[转]
    基于开源 Openfire 聊天服务器
    bootstrapUI
    京东手机webapp商城
  • 原文地址:https://www.cnblogs.com/higer666/p/9459676.html
Copyright © 2011-2022 走看看