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'就可以了了.

  • 相关阅读:
    Runoob-JSP:JSP 表单处理
    Runoob-JSP:JSP 状态码
    Runoob-JSP:JSP 服务器响应
    extundelete
    Java实现 洛谷 P1601 A+B Problem(高精)
    Java实现 洛谷 P1601 A+B Problem(高精)
    Java实现 洛谷 P1601 A+B Problem(高精)
    Java实现 洛谷 P1508 Likecloud-吃、吃、吃
    Java实现 洛谷 P1508 Likecloud-吃、吃、吃
    Java实现 洛谷 P1508 Likecloud-吃、吃、吃
  • 原文地址:https://www.cnblogs.com/tcpblog/p/9768805.html
Copyright © 2011-2022 走看看