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

    一 正则表达式:     正则表达式是对字符串串操作的⼀一种逻辑公式. 我们⼀一般使⽤用正则表达式对字符串串进⾏行行匹 配和过

      优点: 灵活, 功能性强, 逻辑性强  

      缺点: 上⼿手难. ⼀一旦上⼿手, 会爱上这个东⻄

      ⼯具: 各⼤大⽂文本编辑器⼀一般都有正则匹配功能. 我们也可以http://tool.chinaz.com/regex/进⾏行行在线测试.

    二 

      字符组:单⽤用[]括起来. 在[]中出现的内容会被匹配. 例例如:[abc] 匹配a或b或c [a-zA-Z0-9]

     1 基本元字符

    .     匹配除换⾏行行符以外的任意字符 
    w    匹配字⺟母或数字或下划线 
    s    匹配任意的空⽩白符
    d    匹配数字
    
        匹配⼀一个换⾏行行符
    	    匹配⼀一个制表符 
        匹配⼀一个单词的结尾 
    ^     匹配字符串串的开始 
    $     匹配字符串串的结尾 
    W    匹配⾮非字⺟母或数字或下划线 
    D    匹配⾮非数字 
    S    匹配⾮非空⽩白符 
    a|b   匹配字符a或字符b 
    ()    匹配括号内的表达式,也表示⼀一个组
    [...]    匹配字符组中的字符
    [^...]    匹配除了了字符组中字符的所有字符
    

     2量词

    *    重复零次或更更多次 
    +    重复⼀一次或更更多次 
    ?    重复零次或⼀一次 
    {n}    重复n次 
    {n,}  重复n次或更更多次 
    {n,m}    重复n到m次 
    

     注意:在量词中的 *,  +, {} 都属于贪婪匹配. 就是尽可能多的匹配到结果.

        在使⽤用.*后⾯面如果加了了? 则是尽可能的少匹配. 表⽰示惰性匹配

          .*?x的特殊含义  找到下⼀一个x为⽌止. x结尾

           6. 转义                在正则表达式中, 有很多有特殊意义的是元字符, ⽐比如 和s等,如果要在正则中匹 配正常的" "⽽而不不是"换⾏行行符"就需要对""进⾏行行转义, 变成'\'.在python中, ⽆无论是正则表达式, 还 是待匹配的内容, 都是以字符串串的形式出现的, 在字符串串中也有特殊的含义, 本身还需要转 义. 所以如果匹配⼀一次" ", 字符串串中要写成'\n', 那么正则⾥里里就要写成"\\n",这样就太麻烦了了. 这个时候我们就⽤用到了了r' '这个概念, 此时的正则是r'\n'就可以了了.

  • 相关阅读:
    linux docker常用命令
    angular input输入框自动消除前后空格
    angular 一览数据全选符合条件数据
    linux MySQL出现错误的一些常见解决办法
    linux crontab定时任务一些命令
    Linux下定时访问指定url地址
    直接打印对象的结果
    java中变量的作用域
    请求转发后地址栏显示传入的值,页面不显示的原因
    String不是基本数据类型,但是
  • 原文地址:https://www.cnblogs.com/tcpblog/p/9768805.html
Copyright © 2011-2022 走看看