正则表达式【记录】

正则表达式(re)

正则表达式各个符号以及意义

  • . 可以代表任意字符,除了(\n)

  • []从括号中选择一个匹配,括号中无顺序要求。注意:不加(,),不然多匹配逗号,多个逗号导致报错

  • [^]取括号内相反

  • \d 可以代表数字(0-9)

  • \D 可以代表非数字

  • \s 可以代表空(空格,\t,\n)

  • \S可以代表非空

  • \w 可以代表单词字符(a-z,A-Z,0-9,_)

  • \W 可以表示非单词字符

    原始字符串

  • 正则表达式想要一个\需要输出四个\(python本身\\=,正则也是\\=\),所以出现原始表达式

  • 在字符串前加上一个r,表示原始字符串,一个\在python不再是转译,注意:r只能取消python转译,但是正则表达式中的转译不会取消

数量符号

  • *表示一个字符出现0次或者无数次,例:\d*
  • +表示一个字符出现1次或无限次
  • ?表示一个字符出现1次或0次
  • {m}表示字符出现m次
  • {m,}表示一个字符出现m到无限次
  • {m,n}表示一个字符出现m到n次

边界符号

  • 必须以某个字符串开头,例:(1)

  • 必 须 以 某 个 字 符 串 结 尾 , 例 : ( 1 必须以某个字符串结尾,例:(1 1

  • \b匹配一个单词边界

  • \B匹配一个非单词边界

    匹配分组

  • |可以匹配左右两边任意一个表达式

  • ()分组

  • \num引用第num分组

  • (?P<name>)给分组起别名

re模块其他用法

  • search 搜索符合特征的字符串
  • findall 找出所有符合特征的字符串
  • sub 将前一个符合规则的字符串代替后一个符合的
  • split 设定一个符号作为分隔符,分隔后面字符串

贪婪与非贪婪

  • 贪婪:总是尽可能匹配多的字符,如(‘*’,‘+’,“?”,‘{m,n}’)
  • 非贪婪:在贪婪字符后加上一个“?”,尽可能匹配少的字符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值