正则表达式

正则表达式字符:

.      匹配除换行符以外的任意字符
\w   匹配字母或数字或下划线
\s    匹配任意空白符
\d    匹配数字
\n    匹配换行符
\t     匹配一个制表符
\b    匹配一个单词的结尾
^     匹配字符串的开始
$    匹配字符串的结尾
\W  匹配非字母或数字或下划线
\D   匹配非数字
\S   匹配非空白符
a|b  匹配字符a或字符b
()    匹配括号内的表达式,也表示一个
[...]  匹配字符组中的字符
[^...] 匹配除了字符组中字符的所有字符

正则表达式量词:

*       重复零次或更多次
+      重复一次或更多次
?    重复零次或跟多次
{n}    重复n次
{n,}  重复n次或更多次
{n,m}  重复n到m次

转义符\

在正则表达式中,有很多有特殊意义的是元字符,比如\n和\s等,如果要在正则中匹配正常的"\n"而不是"换行符"就需要对"\"进行转义,变成‘\\‘。

正则 待匹配字符 匹配结果 说明
\n \n False 因为正则表达中\是有特殊意义的字符,所以要匹配\n本身,用表达式\n无法匹配
\\n \n True 转义\之后变成\\,即可匹配

贪婪匹配

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

<.*>  认为贪婪匹配模式,会匹配尽量长的字符串

<.*?> 加上?为将贪婪匹配模式转为非贪婪匹配模式,会匹配尽量短的字符串

几个常用的非贪婪匹配

*? 重复任意次,但尽可能少重复
+? 重复1次或更多次,但尽可能少重复
?? 重复0次或1次,但尽可能少重复
{n,m}? 重复n到m次,但尽可能少重复
{n,}? 重复n次以上,但尽可能少重复

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...