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

    正则表达式:

    用来过滤字符串数据,只要是字符串,都可以用正则来处理它。

    后期用框架做网站写路由的时候,用的就是它(偷懒的话,就是直接.*?,但是安全性差)。tornado中的匹配Handler就是用正则来匹配的。

    在py文件中设置 # -*- coding: utf-8 -*- 就是得符合一定的正则规范语句。

    一、元字符

    本身具有特殊含义的字符,叫元字符。

    常用的元字符:点. 脱字符^ 美元符$ 大括号{} 中括号[] 星号* 加号+ 问号? 管道符|

    (一).点"."

    通配元字符,匹配任意一个字符。

    (二).锚点元字符"^"、"$"

    (1).锁定行首:^(shift+6) 有些案例中,也被作为取反。

    (2).锁定行尾:$(shift+4)

    (三).重复元字符

    (1).星号*:匹配一个字符出现0次或多次,即:可有可无。"*"也占了一位。

    (2).加号+:匹配一个字符一次或多次,至少出现一次。

    (3).大括号{}:{N}N个;{M,N}M-N个;{M,}至少M个。

    (四).中括号[]

    选择括号内多个字符中的一个。

    (1).范围:[b-d],等价于[b,c,d]

    (2).取反字符:[^...]

    (五).管道符|

    二选一:匹配左右两个正则表达式中的一个。

    二、预定义字符

    (一).d 任意一个数字,等价于 [0-9]

    (二).D 任意一个非数字,等价于 [^0-9]

    (三).s 任意一个空白字符,等价于 [ fx0B]

    (四).S 任意一个非空白字符,等价于 [^ fxOB]

    (五).w 任意一个字母数字字符,等价于 [a-zA-Z0-9]

    (六).W 任意个一个非字母数字字符,等价于 [^a-zA-Z0-9]

    三、分组

    (一).管道符|:匹配左右任意一个表达式

    (二).(ab):将括号中字符作为分组

    (三). um:引用分组num匹配到的字符串

    (四).(?P<name>):为分组起别名

    (五).(?P=name):引用为name的分组

  • 相关阅读:
    AES-GCM算法
    Linux Curl命令
    OpenLDAP
    网络性能测试
    LoadRunner
    XSLT
    dtruss
    删除重复图片
    2018年部门管理的一点总结
    矢量地图方案的进一步探讨
  • 原文地址:https://www.cnblogs.com/xuanlv-0413/p/9294727.html
Copyright © 2011-2022 走看看