目录
正则表达式基本元字符
正则表达式拓展元字符
用来处理文本
正则表达式(Regular Expression, RE)是一种字符模式, 用于在查找过程中匹配指定的字符. 在大多数程序里, 正则表达式都被置于两个正斜杠之间;
例如/l[oO]ve/就是由正斜杠界定的正则表达式, 它将匹配被查找的行中任何位置出现的相同模式. 在正则表达式中,元 字符是最重要的概念
元字符使正则表达式具有处理能力。所谓元字符就是指?那些在正则表达式中具有特殊意义的专用字符,可以用来规定 其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。
?基本正则表达式元字符 ?元字符 ?示例 ? ? ? ? ? ? ? ? ? ? ?功能 ?^ ? ? ? ? ? ? ? ? ? ? ? 行首定位符 ?^love ?? ?$ ? ? ? ? ? ? ? ? ? ? ? 行尾定位符 ?love$ ?? ?. ? ? ? ? ? ? ? ? ? ? ? 匹配单个字符 ?l..e ? ?? ?* ? ? ? ? ? ? ? ? ? ? ? 匹配前导符0到多次 全部匹配 grep "o*" /etc/passwd ?ab*love ?? ?.* ? ? ? ? ? ? ? ? ? ? ?匹配任意多个字符 ?(贪婪匹配 ?? ?[] ? ? ? ? ? ? ? ? ? ? ?匹配方括号中任意一个字符 ?[lL]ove ?? ?[ - ] ? ? ? ? ? ? ? ? ? 匹配指定范围内的一个字符 ?[a-z0-9]ove ? ? ? ? ? ? ?? ?[^] ? ? ? ? ? ? ? ? ? ? 匹配不在指定组里的字符 ?[^a-z0-9]ove ?? ?\ ? ? ? ? ? ? ? ? ? ? ? 用来转义元字符 ?love\. ? ? ? ? ? ? ? ? ? ?? ?\< ? ? ? ? ? ? ? ? ? ? ?词首定位符 #由数字或字母组成的 ?\<love ?? ?\> ? ? ? ? ? ? ? ? ? ? ?词尾定位符 ?love\>
?= 等于 != 不等于 ?=~ ?匹配 ?扩展正则表达式元字符 ?+ ? ? ? ? ? ? ? ? ? ? ? 匹配一个或多个前导字符 ?[a-z]+ove ?? ?? ? ? ? ? ? ? ? ? ? ? ? 匹配零个或一个前导字符 ?lo?ve ?"r.*t" 贪婪匹配 ?-P "r.*?" 非贪婪匹配 ?? ?a|b ? ? ? ? ? ? ? ? ? ? 匹配a或b ?love|hate ?? ?() ? ? ? ? ? ? ? ? ? ? ?组字符loveable|rs ?love(able|rs) ov+ ov+ (ov)+ ?(oo)+ 两个oo出现一次或者多个 ?? ?(..)(..)\1\2 ? ? ? ? ? ?标签匹配字符 ?# ?(love)able\1er ?? ?x{m} ? ? ? ? ? ? ? ? ? ?字符x重复m次 ?o{5} ?o{,3} 字符最多出现3次 ?x{m,} ? ? ? ? ? ? ? ? ? 字符x重复至少m次 ?o{5,} 字符最少出现5次 ?? ?x{m,n} ? ? ? ? ? ? ? ? ?字符x重复m到n次 ?o{5,10} ?? ?grep -E "o{3}" ?/etc/passwd ?grep -P "\s" /etc/passwd ?grep -P "\d" /etc/passwd