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

    正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。

    re.match只匹配字符串的开始,如果字符串开始不符合正则表达式(一句话中句首包含的特定字符),则匹配失败,函数返回None;而re.search匹配整个字符串(一句话中包含的特定字符),直到找到一个匹配

    "."  匹配字符串中除 " " 之外的任何单个字符;/a.c/   匹配的有abc,a$b,a1c

    " * "  通配符匹配文件名中零个或多个字符。匹配前面的子表达式零次或多次。例如:

    zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。

    “+”  匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}

    "?"  通配符匹配文件名中的单个字符。匹配前面的子表达式零次或一次,例如:

    "do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1},(es)里面的内容匹配0到1次,[word]匹配字符w或o或r或d

    *,+和?限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。

    [^...]  不在[]中的字符:[^abc0-9] 匹配除了a,b,c和0到9之外的字符

    " ^ "  匹配输入字符串开始的位置,不要将 ^ 的这种用法与中括号表达式内的用法混淆

    字符^和$同时使用时,表示精确匹配

    一个数字,{x}的意思是"前面的字符或字符簇只出现x次;两个用逗号分隔的数字,{x,y}表示"前面的内容至少出现x次,但不超过y次

     .:匹配 之外的任意单个字符
    *:匹配子表达式0或多次。e.g:zo*,可匹配z, zoo
    ?:匹配子表达式0或1次。e.g: do(es)?,可匹配do, does
    +:匹配子表达式1或多次。e.g: zo+,不可匹配z,可匹配zoo
    {n}:完全匹配n次。e.g: o{2},不可匹配zo,可匹配zoo
    [m]:匹配其中任意一个字符。25[0-5]表示250 or 251...255

    a|b  匹配a或b

    W  匹配非字母数字

    d  匹配任意数字,等价于 [0-9]

    A  匹配字符串开始

    z  匹配字符串结束

    S  匹配任何非空白字符。等价于 [^ f v]

    http://www.ziqiangxuetang.com:80/html/html-tutorial.html
    /(w+)://([^/:]+)(:d*)?([^# ]*)/

    第一个括号子表达式捕获 Web 地址的协议部分。该子表达式匹配在冒号和两个正斜杠前面的任何单词。第二个括号子表达式捕获地址的域地址部分。子表达式匹配 / 或 : 之外的一个或多个字符。第三个括号子表达式捕获端口号(如果指定了的话)。该子表达式匹配冒号后面的零个或多个数字。只能重复一次该子表达式。最后,第四个括号子表达式捕获 Web 地址指定的路径和/或页信息。该子表达式能匹配不包括 # 或空格字符的任何字符序列
    第一个括号子表达式包含"http"
    第二个括号子表达式包含"www.ziqiangxuetang.com"  
    第三个括号子表达式包含":80"  
    第四个括号子表达式包含"/html/html-tutorial.html"
  • 相关阅读:
    如何在SharePointDesigner订制页面里判断用户权限
    为SharePoint 2010中的FBA创建自定义登录页面
    javascript中的this到底指什么?
    用JAVASCRIPT实现静态对象、静态方法和静态属性
    简单的HoverMenu效果
    JavaScript 调用sharepoint内置webservice 更新item
    域中搜索用户email
    服务控制管理器错误
    SQL Server 2008/2005不能修改表结构的解决方法
    类集对枚举的支持
  • 原文地址:https://www.cnblogs.com/vickey-wu/p/7407266.html
Copyright © 2011-2022 走看看