Linux操作条统 正则表达式 1
1 Linux 操作系统 正则表达式
正则表达式 口当从一个文件或命令输出中抽取或过滤文本时,可以 使用正则表达式(rexp,regular expressions) 口正则表达式是由普通字符和特殊字符的集合 口系统自带的所有大的文本过滤工具在某种模式下都支 持正则表达式的使用,并且还包括一些扩展的元字符集 口正则表达式广泛使用在grep、sed命令和awk语言 中
2 正则表达式广泛使用在 grep、sed 命令和 awk 语言 中 正则表达式 当从一个文件或命令输出中抽取或过滤文本时,可以 使用正则表达式 ( rexp, regular expressions) 正则表达式是由普通字符和特殊字符的集合 系统自带的所有大的文本过滤工具在某种模式下都支 持正则表达式的使用,并且还包括一些扩展的元字符集
基本元字符集及其含义 只匹配行首(可以看成是行首的标志) 令 只匹配行尾(可以看成是行尾的标志) 米 一个单字符后紧跟*,匹配0个或多个此单字符 [] 匹配[】内的任意一个字符([]反向匹配) 八 用来屏蔽一个元字符的特殊含义 匹配任意单个字符 c{n\) 匹配字符c连续出现n次的情形 c{n,\} 匹配字符。至少连续出现n次的情形 c\{n,m)匹配字符c连续出现次数在n与m之间的情形 注:字符c可以通过[],\或.来指定,但只能是单个字符。 如:[a-z]\{5\),\$\{2,八},.{2,5\)
3 $ 只匹配行尾(可以看成是行尾的标志 ) * 一个单字符后紧跟 *,匹配 0 个或多个此单字符 [ ] 匹配 [] 内的任意一个字符 ([^] 反向匹配 ) \ 用来屏蔽一个元字符的特殊含义 . 匹配任意单个字符 c\{n,m\} 匹配 字符 c 连续出现次数在 n 与 m 之间的情形 c\{n,\} 匹配 字符 c 至少连续出现 n 次的情形 c\{n\} 匹配 字符 c 连续出现 n 次的情形 ^ 只匹配行首(可以看成是行首的标志 ) 注:字符 c 可以通过 [ ],\ 或 . 来指定,但只能是单个字符。 如: [a-z]\{5\},\$\{2,\},.\{2,5\} 基本元字符集及其含义
元字符集举例 口使用句点“。”匹配单字符 ●匹配任意单个ASCII字符,可以为字母或数字 ..XC. 可以匹配dexC1t、23XCdf .w..W..W.可以匹配rWxrW-rW 口在行首以“^”匹配字符串或字符序列 ●在一行的开始匹配字符或单词 d 可以匹配drwxr-xr-x、drw-r--r- ^.01 可以匹配0011cx4、c01sdf
4 z 匹配任意单个ASCII 字符,可以为字母或数字 ..XC.. 可以匹配 deXC1t、23XCdf .w..w..w. 可以匹配 rwxrw-rw- 在行首以 “ ^ ” 匹配字符串或字符序列 z 在一行的开始匹配字符或单词 ^d 可以匹配 drwxr-xr-x、drw-r--r— ^.01 可以匹配 0011cx4、c01sdf 使用句点 “ . ” 匹配单字符 元字符集举例
元字符集举例 口在行尾以“$”匹配字符串 ●在行尾匹配字符串或字符,$符号放在匹配单词后面 troubles 匹配以单词trouble结尾的所有行 Λ$ 匹配所有空行 口使用“*”匹配单个字符或其重复序列 ●一个单字符后紧跟*,表示匹配0个或多个此字符 compu*t可以匹配comput、compuuut 1013* 可以匹配1013、101333、101 ●注:星号必须跟其前面的字符结合才有意义 5
5 z 在行尾匹配字符串或字符,$ 符号放在匹配单词后面 trouble$ 匹配以单词 trouble 结尾的所有行 ^$ 匹配所有空行 使用 “ * ” 匹配单个字符或其重复序列 z 一个单字符后紧跟 *,表示匹配 0 个或多个此字符 compu*t 可以匹配 comput、compuuut 1013* 可以匹配 1013、101333、101 在行尾以 “ $ ” 匹配字符串 元字符集举例 z 注:星号必须跟其前面的字符结合才有意义