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

    正则表达式:

    用事先定义好的一些特殊字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。

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

    在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的分组

    四、常用的一些方法

    (一).re.compile(),编译

    (二).re.match(),从头找一个

    (三).re.search(),找一个

    (四).re.findall(),找所有

    (五).re.sub(),替换

  • 相关阅读:
    $this是什么意思-成员变量和局部变量的调用
    神经网络 ML08 c-d-e
    机器学习笔记 ML01c
    虚函数
    C++有哪几种情况只能用初始化列表,而不能用赋值?
    C++ 的 I/O
    引用
    宏定义 #define 和常量 const 的区别
    怎么设置才能让外网ip可以访问mysql数据库[转]
    大师的框架面试总结[转]
  • 原文地址:https://www.cnblogs.com/quanquan616/p/8877264.html
Copyright © 2011-2022 走看看