正则表达式

正则表达式:正则表达式

  正则表达式(Regular Expression,常简写为regex或者RE),又称规则表达式,它不是某个编程语言所特有的,是计算机科学的一个概念,一般被用来检索和替换符合某些规则的文本。目前,正则表达式已经在各类计算机语言(如Java、 C#和Python等)中获得了普遍的应用和发展。
      在Python中,能够使用正则表达式进行与字符串相关的一些匹配,正则表达式是一种用来匹配字符串的强有力武器,它只和字符串打交道,设计思想是用一种描述行的语言来给字符串定义一个规则,凡是符合规则的字符串就认为它“匹配”,不然就不匹配。即从大段的文字中找到符合规则的内容!!!编程

字符组:编程语言

[  ] 写在中括号中的内容,都出如今下面的某一个字符的位置上都是符合规则的spa

[0-9]  匹配数字0-9设计

[a-z]    匹配a到z的小写字母blog

[A-Z]  匹配A到Z的大写字母ci

[a-zA-Z0-9] 匹配大小写字母+数字
[a-zA-Z0-9_] 匹配数字字母下滑线字符串

元字符:io

量词:table

 

{n}表示 这个量词以前的字符出现n次
{n,} 表示这个量词以前的字符至少出现n次
{n,m} 表示这个量词以前的字符出现n-m次
? 表示匹配量词以前的字符出现 0次 或者 1次 表示无关紧要
+ 表示匹配量词以前的字符出现 1次 或者 屡次
* 表示匹配量词以前的字符出现 0次 或者 屡次

. ^ $

正则表达

待匹配的字符

匹配到的结果

说明

结.

结果结束结缘

结果结束结缘

匹配全部”海.”的字符

^结.

结果结束结缘

结果

只从开头匹配”海.”匹配到了一个就会停

结.$

结果结束结缘

结缘

只匹配结尾的”海.”,同上面的相反

* + ? { }

正则表达

待匹配的字符

匹配到的结果

说明

结.?

结果和结束和结缘

结果

结束

结缘

?表示重复零次或一次,即只匹配"结"后面一个任意字符

结.*

结果和结束和结缘

结果和结束和结缘

*表示重复零次或屡次,即匹配"结"后面0或多个任意字符

结.+

结果和结束和结缘

结果和结束和结缘

+表示重复一次或屡次,即只匹配"结"后面1个或多个任意字符

结.{1,2}

结果和结束和结缘

结果和

结束和

结缘

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

注意:前面的*,+,?等都是贪婪匹配,也就是尽量匹配,后面加?号使其变成惰性匹配

正则

待匹配字符

匹配结果

说明

结.*?

结果和结束和结缘

惰性匹配

 

 

 

 

正则表达式的匹配特色 :

贪婪匹配,它会在容许的范围内取最长的结果
非贪婪模式/惰性匹配 : 在量词的后面加上?
 .*?x 匹配任意非换行符字符任意长度 直到遇到x就中止

2019年11月18日

相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息