正则表达式

正则表达式是一种文本模式匹配。它是一个三方产品。常见的shell中有grep sed awk命令支持。

通过提供特殊字符来生成一个匹配对应字符串的公式,用此来从海量数据中匹配出想要的数据。

1.特殊字符

^   锚定开头^a 以a开头,默认锚定一个字符
¥   锚定结尾a$  以a结尾,默认锚定一个字符

2.匹配符

.   匹配除回车以外的任意字符
()  字符串分组
[]  定义字符类
[^] 表示否定括号中出现字符类的字符,取反
\   转义

3.限定符

*        某个字符之后加星号表示字符不出现或出现多次
?        与星号相似,出现一次或者不出现
+        与星号相似,出现一次或多次。但必须出现一次
{n,m}  该字符出现最少n次,最多m次
{m}    正好出现m次

POSIX字符

posix字符一次只匹配一个范围中的一个字节

特殊字符说明
[:alnum:] 匹配任意字母字符0-9 a-z A-Z
[:alpha:] 匹配任意字母,大写或小写
[:digit:] 数字 0-9
[:graph:] 非空字符( 非空格控制字符)
[:lower:] 小写字符a-z
[:upper:] 大写字符A-Z
[:cntrl:] 控制字符
[:print:] 非空字符( 包括空格)
[:punct:] 标点符号
[:blank:] 空格和TAB字符
[:xdigit:] 16 进制数字
[:space:] 所有空白字符( 新行、空格、制表符

注意:

注意[[ ]]  双中括号的意思:  第一个中括号是匹配符[] 匹配中括号中的任意一个字符,第二个[]是格式 如[:digit:]
posted @ 2024-09-09 11:57  Mike_Jia  阅读(34)  评论(0)    收藏  举报