“正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式一般被用来检索、替换那些符合某个模式(规则)的文本。html
代码正则表达式 |
说明json |
.函数 |
匹配除换行符之外的任意字符工具 |
\w测试 |
匹配字母或数字或下划线网站 |
\sspa |
匹配任意的空白符设计 |
\dregexp |
匹配数字 |
\b |
匹配单词的开始或结束 |
^ |
匹配字符串的开始 |
$ |
匹配字符串的结束 |
代码/语法 |
说明 |
\W |
匹配任意不是字母,数字,下划线,汉字的字符 |
\S |
匹配任意不是空白符的字符 |
\D |
匹配任意非数字的字符 |
\B |
匹配不是单词开头或结束的位置 |
[^x] |
匹配除了x之外的任意字符 |
[^aeiou] |
匹配除了aeiou这几个字母之外的任意字符
|
代码/语法 |
说明 |
* |
重复零次或更屡次 |
+ |
重复一次或更屡次 |
? |
重复零次或一次 |
{n} |
重复n次 |
{n,} |
重复n次或更屡次 |
{n,m} |
重复n到m次 |
“原子是正则表达式的最基本的组成单位,并且在每一个模式中最少包含一个原子。原子是由全部那些未显示指定为元字符的打印和非打印字符组成,因此在这里将其详细划分为五类进行介绍。”
①普通字符做为原子
普通字符是编写正则表达式时最多见的原子了,包括全部的大写和小写字母字符、全部数字等。例如,a——z、A——Z、0——9。
②一些特殊字符和元字符做为原子
任何一个符号均可以做为原子使用,但若是这个符号在正则表达式中有一些特殊意义,咱们就必须使用转义字符“\”取消它的特殊意义,将其变成一个普通的原子。例如,全部标点符号以及一些其余符号,双引号“””、单引号“’”、“*”、“+”、“.”等,若是当原子就必须像\”、\’、\+和\.这样使用。
③一些非打印字符做为原子
所谓的非打印字符,是一些在字符串中的格式控制符号,例如空格、回车及制表符号等。例以下表所示列出了正则表达式中经常使用的非打印字符及其含义。
元字符(经常使用的元字符)
④使用“通用字符类型”做为原子
前面介绍的无论是打印字符仍是非打印字符做为原子,都是一个原子只能匹配一个字符。而有时咱们须要一个原子能够匹配一类字符,例如,匹配全部数字不是一个数字,匹配全部字母而不是一个字母,这时就要使用“通用字符类型”了。例以下表所示列出了正则表达式中经常使用“通用字符类型”及其含义。
⑤自定义原子表([])做为原子
c.模式修正符(经常使用的模式修正符)
“模式修正符就是几个字母,咱们在每一个正则表达式中能够一次使用一个,也能够连续使用多个,每个具必定的意义。对整个正则表达式调优使用,也能够说是对正则表达式功能的扩展。”经常使用模式修正符有:
d.贪婪模式与懒惰模式
正则表达式,表示重复字符,操做符,默认都是贪婪模式,'?,+,*,{}' 默认都会选择贪婪模式,会最大长度匹配字符串(量词默认首先最大匹配字符串,这些量词有:+,*,?,{m,n} 。一开始匹配,就直接匹配到最长字符串)。要切换到懒惰模式(懒惰模式),就只是在该元字符,后面加多一个”?” 便可切换到非贪婪模式(尽量少地匹配所搜索的字符串)。
e.Python中经常使用的函数: