正则表达式

 一 前言

1.1正则表达式:

  正则表达式是对字符串操作的一种逻辑公式,就是用是先定义好的特定字符以及这些特定字符的组合,组成一个"规则字符串"

,这个"规则字符串"用来表达对字符串的一种过滤逻辑(匹配字符串的一种规则)

1.2正则表达式应用领域:

  1.表单验证(登录注册页)

  2.爬虫

  3.自动化开发(日志分析)

1,3常用的正则匹配工具

  在线匹配工具

  1.http://tool.chinaz.com/regex/?qq-pf-to=pcqq.group

  2.http://rubular.com/

二 正则字符串的简单介绍

2.1 元字符

  字符组: [字符组]

  在同一个位置可能出现的各种字符组成的一个字符组,在正则表达式用[]表示

  字符分为很多类,比如数字,字母,标点等等

  [0-9] 匹配0到9范围内的一个数字  (注意顺序,按照ascii排列)

  [a-z] 匹配a到z范围内的一个字母

  [A-Z] 匹配A到Z范围内的一个字母

  [0-9][a-z][A-Z] []匹配三个字符

  [^]   匹配非字符组

  () 匹配括号内的的表达式,也表示一个组

  [...]匹配除了字符串中字符的所有字符

  . 点 匹配除换行符以为是我任意字符

 

  \d 匹配数字

  \w 匹配字母或者下划线

  \s 匹配任意空白字符

 

  \D 匹配非数字

  \W 匹配非数字,字母,下划线

  \S匹配非空白

  \n 匹配一个换行符

  \t匹配一个字符表

  \b 匹配一个单词的开头

  ^ 匹配字符串的开始

  $ 匹配字符串的结尾

  a|b 匹配字符a或者b

量词:

  * 重复0次或多次

  + 重复一次或多次

  ? 重复0次或一次

  {n} 重复n次

  {n,} 重复n次或更多次   

  {n,m} 重复n到m次   

注意:优先按照多的数匹配

3.1 转义符\

  在正则表达式中,有很多有特殊意义的是元字符,比如\d ,\s 等,如果要在正则中匹配正常的\d

而不是"数字"就需要对"\'进行转义,变成'\'

  在python中,无论是正则表达式,还是待匹配的内容,都是以字母的形式出现的,在字符串中也"\"

的特殊的意义,还需要转义.如果匹配一次"\d",字符串中要写成"\\d",那么正则里面就要写成"\\\d",这样就太麻烦了,这时候就用到了r''\d''这个概念,此时的正则是r'\\d'

 

3.2贪婪匹配

  贪婪匹配:在满足匹配时,匹配尽可能长的字符串,默认情况下,采用贪婪匹配

 

 

 

 

  

 

  

 

posted @ 2018-08-06 21:47  Hear7  阅读(139)  评论(0编辑  收藏  举报