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

    初识:

    正则表达式不是Python当中内置的语法和规则,它是一门独立的语言。正则表达式只和字符串相关,在Python中使用正则表达式需要调用re模块;

    知识点:

      字符组:[字符组]

    在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示
    
    字符分为很多类,比如数字、字母、标点等等。
    
    假如要求一个位置"只能出现一个数字",那么这个位置上的字符只能是0、1、2...9这10个数之一。

    例如:

    [0123456789]
    一个位置只能出现这个字符组当中的一个,比如‘1’,这是正确的。如果是‘123456’,那么这里面是有6个结果
    [0-9]
    '-'表示范围,[0-9]表示这个字符组里枚举合法的所有字符,和[0123456789]作用相同
    [a-z]
    和数字的原理一样,如果要匹配所有的小写字母,直接用[a-z]就可以表示
    
    [A-Z]
    和小写字母原理一样
    
    [A-z]
    在asciii码值当中,大写字母排在小写字母前面,并且大写字母后边不是立即跟随小写字母,而是两者之间有几个特殊符号
    
    所有[z-A]为错误表达式
    只能从大到小
    所有的表达式还可以结合起来
    [0-9a-zA-Z]
    所有的数字和大小写字母都能够匹配,还可以设置其它范围,例如[5-9g-zA-F]

    字符:

      常用元字符:

    . 匹配换行符以外的任意字符
    w 匹配数字、字母或者下划线
    s 匹配任意的空白符空格、回车、Tab
    d 匹配任意数字
    匹配制表符:Tab

    匹配换行符
     匹配一个单词的结尾
    ^ 匹配字符串的开始
    $ 匹配字符串的结尾
    a|b 匹配a或者b
    () 匹配括号内的表达式,表示一个组
    [] 匹配字符组中的字符

     

    常用反义词:

    W 匹配非字母、数字和下划线的汉字字符
    D 匹配任意非数字字符
    S 匹配任意非空白符的字符
    B 匹配不是单词开头或结束的位置
    ^x 匹配除了x以外的任意字符
    ^aeiou 匹配除了aeiou这几个字母以外的任意字符

    转义符:

      匹配正则表达式的关键字,如: ,,w,s等需要加上转义符‘’,即‘\n’,'\b'……

     

    贪婪匹配:

    <.*> 匹配<>之间的所有字符
    <.*?> 匹配第一个<>之间的所有字符
  • 相关阅读:
    春色人间
    如是
    Go -- FileManage 自建云盘
    JavaScript -- 定义二维数组
    mysql 碎片清理
    vue2.0项目中使用Ueditor富文本编辑器示例
    浅谈css中一个元素如何在其父元素居中显示
    CSS -- 文字竖直居中
    memcached与redis区别
    mac -- 安装OpenCV
  • 原文地址:https://www.cnblogs.com/aizhinong/p/11419888.html
Copyright © 2011-2022 走看看