正则表达式和扩展正则表达式
正则表达式与扩展正则表达式
正则表达式:REGular EXPression,REGEXP grep (Global Research):使用基本正则表达式定义的模式来过滤文本的命令 grep [options] PATTERN [FILE...] -i:忽略字符大小写 --color:加颜色 -v:显示没有被模式匹配到的行 -o:只显示被模式匹配到的字符串 Pattern:文本字符和正则表达式的元字符组合而成的匹配条件 -i:忽略字符大小写 --color:加颜色 元字符: .:表示匹配任意单个字符 []:匹配指定范围内的任意单个字符 [^]:匹配指定范围外的任意单个字符 字符集合: [:digit:]:数字 [:lower:]:小写字母 [:upper:]:大写字母 [:punct:]:标点符号 [:space:]:空白字符 [:alpha:]:所有字母 [:alnum:]:所有数字和字符 匹配次数(贪婪模式): *:匹配其前面的字符任一次 .*:匹配任意长度的任意字符 ?:匹配其前面的字符一次或零次 只要部分匹配即可 ?:匹配其前面的字符一次或零次 {m,n}:匹配其前面的字符至少m次,至多n次 位置锚定: ^:锚定行首,此字符后面的任意内容必须出现在行首 $:锚定行尾,此字符前面的任意字符必须出现在行尾 ^$:空白行 例如:找出/etc/inittab下所有已数字结尾的行 <或b:锚定词首,其后面的任意字符必须作为单词的首部出现 >或b:锚定词尾,其前面的任意字符必须作为单词的尾部出现 <root>:精确出现 分组: () (ab)*:ab为一个整体 后向引用: 1:第一个左括号以及与之对应的右括号所包括的所有内容 例如:在/etc/inittab下匹配数字并以数字结尾的内容 grep ‘([0-9]).*1$’ /etc/inittab 2: 3: 扩展正则表达式:egrep 字符匹配: .:表示匹配任意单个字符 []:匹配指定范围内的任意单个字符 [^]:匹配指定范围外的任意单个字符 次数匹配: *:匹配其前面的字符任一次 ?:匹配其前面的字符一次或零次 部分匹配就行 +:匹配其前面的字符至少一次 {m,n}:匹配其前面的字符至少m次,至多n次 位置锚定: 位置锚定: ^:锚定行首,此字符后面的任意内容必须出现在行首 $:锚定行尾,此字符前面的任意字符必须出现在行尾 ^$:空白行 分组: () 1,2,3... 或者: |:or C|cat:匹配C和cat (C|c)at:匹配cat和Cat (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |