正则笔记-元字符(1)
2017-10-15 14:38
162 查看
正则表达式概念
正则表达式,或者叫规则表达式,全称Regular Expression,在代码中常简写为regex、regexp或RE.
python中正则和其他语言中一样,本质上是对re语言的封装模块进行调用
元字符
元字符有以下:
. ^ $ * + ? { } [ ] | ( ) \通配符.
.代指任意一个字符,除了\n换行符import re >>> strs = 'helloworld' >>> re.findall('h...o',strs) # 用了3个. 成功 ['hello'] >>> re.findall('h..o',strs) # 用2个. 则失败,说明1个点只能指代1个字符 []
尖角符/乘方符/插入符 ^
^指从第一个字符匹配>>> re.findall('^h...o',strs) # h为第一个字符开始匹配,成功匹配 ['hello'] >>> re.finall('^e..o',strs) # 从e开始匹配,则失败 []
美元符/dollar符 $
$指从最后一个字符匹配>>> re.findall('w...d$',strs) # d最后一个字符,成功匹配 ['world'] >>> re.finall('w..l$',strs) # l不是最后一个字符,匹配到l,则失败 []
星号 *
$从0个至无穷个字符匹配>>> strs = 'hello' >>> re.findall('he..o',strs) # 用.时,匹配几个l就需要用几个点 ['hello'] >>> strs = 'ellllllo' >>> re.findall('e......o',strs) # 6个l需要6个点,多个字符时不够方便 ['ellllllo'] >>> re.findall('e.*o',strs) # 此时可以用*替代.来匹配后面的多个字符 ['ellllllo'] >>> re.findall('e.*',strs) # e.*表达了e后面字符的0到无穷个 ['ellllllo'] >>> re.findall('el*',strs) # l* 匹配了所有l ['ellllll'] >>> re.findall('e*',strs) # e* 后面没有其他e,即是0个,则*会匹配为空,e后有7个字符,则有8个空 ['e', '', '', '', '', '', '', '', ''] >>> re.findall('l*o',strs) # 匹配了o前面所有的l ['llllllo']
加号 +
$至少1个至无穷个字符匹配>>> strs = 'elllllolo' >>> re.findall('l+o',strs) # 出现了2种结果,1个指代了1个l,1个指代了5个l ['lllllo', 'lo'] >>> re.findall('lo+',strs) # 此时匹配为l后1个字符o,则结果为lo ['lo', 'lo']
问号 ?
$ 只有0个到1个字符匹配>>> strs = 'lllllo' >>> re.findall('l?',strs) # 只匹配0到1个l,第一个o时不匹配,则为空值0,整体不匹配为1个空值0 ['l', 'l','l', 'l', 'l', '', '']
花括号{}
{}重复匹配>>> strs = 'llllllo' >>> re.findall('l{6}') #l匹配重复6次 ['lllll'] >>> re.findall('l{3}') # l重复匹配3次 ['lll','lll'] >>> re.findall('l{7}') # strs字符串中6个l,匹配重复7次l时则没有匹配的项 []
小结:
*等价于{0, ∞}
+等价于{1,∞}
?等价于{0, 1 }
{n}为重复次数匹配
.匹配除\n换行符外所有字符
^从开始匹配
$匹配到结束
相关文章推荐
- 【Linux学习笔记】37:基础正则表达式元字符
- 正则表达式讲解--元字符
- 汉字字符编码的科普笔记(GB2312汉字编码,Unicode与UTF-8,字符映射表,vim,文泉驿,正则表达式)
- [知了堂学习笔记] javascript 正则表达式
- 正则表达式-元字符
- 第十四节:正则表达式及日期类(讲师笔记)
- python学习笔记4-正则表达式
- 小白的学习笔记之正则表达式
- Data Analysis学习笔记 --- Python数据清洗正则处理字符串
- C++学习笔记——正则表达式
- 【05】 Boost库学习笔记之正则表达式(regex)
- javascript正则表达式笔记
- 笔记-正则表达式的2种引擎
- [Python]第六课笔记--正则表达式
- 本周笔记 正则
- javascript学习笔记(十一) 正则表达式介绍
- mysql必知必会 9-11章学习笔记(正则表达式REGEXP, soundex 描述发音,concat 拼接等)
- 我的php学习笔记(三十五)PHP中正则表达式学习及应用(三)
- JavaScript 正则表达式(笔记)
- JavaScript 学习笔记 六 正则表达式《三》