05.正则

1. 标准正则

正则 注释 举例
^ 行首定位符
$ 行尾定位符
. 单个字符,非前导符
* 前导符出现0到多次
[ ] 匹配指定范围内的一个字符 [lL]ove
[ - ] 匹配指定范围内的一个字符 [a-z]ove
[^] 匹配不在指定组内的字符
\ 转义
< 词首定位符 \
> 单词的结尾
(..) 字符标签 (love)able\1er
x{m} 字符x重复出现m次 o{5}
x{m,} 字符x重复出现 m次以上 o{5,}
x{m,n} 字符x重复出现 m到n次 o{5,10}
  • 示例

使用 () 和 {} 要 \ 转义
示例:grep的正则应用


image.png

2. 扩展正则

正则 注释 举例
+ 匹配一个或多个前导 [a-z]+ove
匹配0个或1个前导
a|b 匹配a或者b

标准正则中的 ()和 { } ,在扩展正则中如果外边加了引号,不需要再加反斜杠转义,如:x{m}x{m,}x{m,n}
示例:grep的扩展正则:

image.png

3. posix字符类

表达式 功能 示例
[:alnum:] 字母与数字字符 [[:alnum:]]+
[:alpha:] 字母字符(包括大小写字母) [[:alpha:]]{4}
[:blank:] 空格与制表符 [[:blank:]]*
[:digit:] 数字字母 [[:digit:]]?
[:lower:] 小写字母 [[:lower:]]{5,}
[:upper:] 大写字母 [[:upper:]]+
[:punct:] 标点符号 [[:punct:]]
[:space:] 空白(含括换行符,回车) [[:space:]]+
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容