正则表达式非常常见,它是一种文本匹配工具:
正则表达式就是能用某种模式去匹配一类字符串的公式,它是由一串字符和元字符构成的字符串。
所谓元字符,就是用以阐述字符表达式的内容、转换和描述各种操作信息的字符。
——《Linux系统命令及Shell脚本实践指南》
" * "(星符号)用于匹配前一个字符0次或任意多次:
此处的" * "和bash环境里的" * "有区别,前者是匹配前一个字符,比如ab表示a、ab、abb、abbb……,后者表示0到无穷多个任意字符。bash环境里面的" . "和" "等,又称为通配符。
正则表达式里的" .* ",才表示任意字符。
" {n,m} "能够更加灵活地控制字符的重复次数:
" {n} "表示匹配前面的字符n次,比如'ro{2}t';
" {n,} "表示匹配前面的字符n次以上(含n次),比如'ro{0}t';
" {n,m} "表示匹配前面的字符n次到m次,比如'ro{0,2}t'。
" $ "用于匹配尾部的字符,比如'abc$'表示以abc结尾的行,'^$'则表示空行。
" [] "用于匹配方括号内出现的任一字符,比如'[ABCD]',或者'[A-D]'。
如果括号内使用了" ^ ",则表示取反,比如'^[A-D]'。
" < "和" >"用于界定单词的左边界和右边界,比如'<hello'用于匹配以" hello "开头的单词,而'hello>'用于匹配以" hello "结尾的单词。它们的组合用于精确匹配字符串。
还有一些不常用的基础正则表达式,现用现查即可。
文章评论(0条评论)
登录后参与讨论