正则表达式简述
什么是正则表达式:
正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。
正则表达式分类:
-
标准正则表达式
-
扩展正则表达式
标准正则表达式:
-
元字符
. :表示匹配任意单个字符
[ ] :表示匹配指定范围内的任意单个字符
[^] :表示匹配指定范围外的任意单个字符
字符合集:
[:space:] 匹配空格
[:digiat:] 匹配数字
[:lower:] 匹配小写字母
[:upper:] 匹配大写字母
[:alpha:] 匹配大小写字母
[:punct:] 匹配所有标点符号
[:alnum:] 匹配大小写字母和数字
-
次数匹配
*:匹配其前面的字符任意次数
.*:匹配任意长度的任意字符
\?:匹配其前面的字符1次或0次
\{m,n\} :匹配其前面的字符至少m次至多n次
-
位置锚定
^ :锚定行首,此字符后面的任意内容出现在行首
$ :锚定行尾,此字符前面的任意内容出现在行尾
\<或\b:锚定词首,此字符后面的任意字符必须作为单词的首部出现
\>或\b:锚定词尾,此字符前面的任意字符必须作为单词的尾部出现
-
分组
\(\):对括号内内容进行分组,视为一个整体进行读取,并便于后向引用。
\1:引用第一个分组匹配内容
\2:引用第二个分组匹配内容
\n:引用第N个分组匹配内容
扩展正则表达式:
-
元字符
. :表示匹配任意单个字符
[ ] :表示匹配指定范围内的任意单个字符
[^] :表示匹配指定范围外的任意单个字符
字符合集:
[:space:] 匹配空格
[:digiat:] 匹配数字
[:lower:] 匹配小写字母
[:upper:] 匹配大写字母
[:alpha:] 匹配大小写字母
[:punct:] 匹配所有标点符号
[:alnum:] 匹配大小写字母和数字
-
次数匹配
*:匹配其前面的字符任意次数
.*:匹配任意长度的任意字符
?:匹配其前面的字符1次或0次
+:匹配其前面的字符至少1次
{m,n} :匹配其前面的字符至少m次至多n次
-
位置锚定
^ :锚定行首,此字符后面的任意内容出现在行首
$ :锚定行尾,此字符前面的任意内容出现在行尾
\<或\b:锚定词首,此字符后面的任意字符必须作为单词的首部出现
\>或\b:锚定词尾,此字符前面的任意字符必须作为单词的尾部出现
-
分组
():对括号内内容进行分组,视为一个整体进行读取,并便于后向引用。
\1:引用第一个分组匹配内容
\2:引用第二个分组匹配内容
\n:引用第N个分组匹配内容
例:
匹配IP地址包网络地址和广播地址表达式
(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){3}\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>
表达式解释:
(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.) 该部分内容匹配0-255的数字和.
{3} 该部分内容表示匹配前面分组内容三次
\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\> 表示匹配IP地址最后一位 0-255的数字
原创文章,作者:Net18-Tomcat,如若转载,请注明出处:http://www.178linux.com/14077
评论列表(1条)
了解下标签的作用,要认真写