加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

re模块与正则

发布时间:2020-12-14 05:47:52 所属栏目:百科 来源:网络整理
导读:? ? 一.正则 正则就是用来筛选字符串中的特定的内容 正则表达式与re模块的关系: 1.正则表达式是一门独立的技术,任何语言都可以使用 2.python中药想使用正则表达式需要通过调用re模块 正则应用场景: 1.爬虫 2.数据分析 正则字符: 元字符 匹配内容 . 除 换行符

?

?

一.正则

正则就是用来筛选字符串中的特定的内容

正则表达式与re模块的关系:

  1.正则表达式是一门独立的技术,任何语言都可以使用

  2.python中药想使用正则表达式需要通过调用re模块

正则应用场景:

  1.爬虫

  2.数据分析

正则字符:

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

?

?

?

?

?

?

?

?

量词 说明
* 重复 零次 或 多次
+ 重复 一次 或 多次
? 重复 零次 或 一次
{n} 重复 n 次? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
{n,} 重复 n 次 或 多次
{n,m} 重复 n 到 m 次

字符组概念

在同一位置可能出现各种字符 组成了一个字符组,在正则表达式中用[ ]表示,一个字符组内每次只能匹配一个字符,[ ]内的字符是或的关系

例:

  • 匹配0-9数字 : [0123456789] 或 [1-9]?
  • 匹配A-Z字母 : 同上
  • 匹配a-z字母 : 同上

  ps: 字符组内范围必须从小到大必须按ASCII码表排序

  • ^:以什么开头

    •   ^[1-9] : 匹配字符是否以1-9其中的数字为开头
  • $:以什么结尾
    •   [a-z]$ : 匹配的字符是否以a-z其中的字母结尾
  • ^...$:精准匹配固定长度的目标字符
    •   ^waller$ : 匹配waller
    • ?

  • ?| :或

    •   ab|abc 优先匹配 | 前面的内容,若前面内容匹配上 | 后面的内容不再匹配(在书写时把长的写在 | 前面)

      

  • ?[^...] : 除括号内的内容其他都匹配
    • ?

      ?

量词 只能和元字符配合使用,并且是贪婪匹配

?

  • + :? 匹配1次或多次

    •   匹配 13555555555,用 d 每次只能匹配单个数字,要想把数字一次都匹配上要用 d+?
    • 匹配到 1 条结果
  • ?* : 匹配零次或多次
    •   

      匹配到 2 条结果

      ?

  • ?{n} : 指明重复个数

?题:

  • 轨道 通道 地道 魔道 人道?
  • 逐个匹配出后面的道:
    •  

      ?

       
  • 取出词:
    • [^s]{2} : 去掉空格,每次取两个字符? ?
    • .道 : 取出 .和道组成的词
    • [^s]. :? [^s]本身占了一个位置 加 . 共取两个位置
    • ?
       

?

  • ?匹配人名: 海燕海娇海东
    •   
      海. 取 海和.组成的词 海燕海娇海东 ? 匹配所有"海."的字符
      ^海. 只取以 海和.为开头 海燕 只从开头匹配"海."
      ? 海.$ ?只取以 海和.为结尾 海东 只匹配结尾的"海.$"

?

?

正则 待匹配字符 匹配
结果
说明
李.? 李杰和李莲英和李二棍子

李杰
李莲
李二

?
?表示重复零次或一次,即只匹配"李"后面一个任意字符
?
李.* 李杰和李莲英和李二棍子 李杰和李莲英和李二棍子
*表示重复零次或多次,即匹配"李"后面0或多个任意字符
李.+ 李杰和李莲英和李二棍子 李杰和李莲英和李二棍子
+表示重复一次或多次,即只匹配"李"后面1个或多个任意字符
李.{1,2} 李杰和李莲英和李二棍子

李杰和
李莲英
李二棍

{1,2}匹配1到2次任意字符

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读