摄影网站设计理念好用的建站系统
web/
2025/10/6 6:33:53/
文章来源:
摄影网站设计理念,好用的建站系统,海口cms模板建站,wordpress 购物 插件文章目录一、命令介绍grepegrepfgrep二、正则表达式元字符扩展集三、POSIX 字符集一、命令介绍
grep
一种强大的文本搜索工具#xff0c;用于在文件内查找指定的字符串#xff0c;在不使用转义符的前提下支持基本的正则表达式来搜索文本#xff0c;并把匹配的行打印出来。…
文章目录一、命令介绍grepegrepfgrep二、正则表达式元字符扩展集三、POSIX 字符集一、命令介绍
grep
一种强大的文本搜索工具用于在文件内查找指定的字符串在不使用转义符的前提下支持基本的正则表达式来搜索文本并把匹配的行打印出来。
Linux 使用 GNU 版本的 grep。它可以通过 -G、-E、-F 等选项来使用 egrep 和 fgrep 的功能。
grep 的工作方式是这样的它在一个或多个文件中搜索模板pattern。如果模板包括空格则必须使用双引号将其包裹起来模板后的所有字符串被看作文件名。
grep 可用于 shell 脚本因为 grep 通过返回一个状态值来说明搜索的状态如果模板搜索成功则返回 0如果搜索不成功则返回 1如果搜索的文件不存在则返回 2。我们利用这些返回值就可进行一些自动化的文本处理工作。
egrep
egrep称为扩展的 grep 命令其实和 grep -E 等价支持基本和扩展的正则表达式使用的语法及参数可参照 grep 指令与 grep 的不同点在于解读字符串的方法。egrep 是用 extended regular expression 语法来解读的而 grep 则用 basic regular expression 语法解读extended regular expression 比 basic regular expression 的表达更规范。
fgrep
fgrep 就是 fixed grep 或 fast grep等同于 grep -F。它把所有的字符都看作普通字符也就是说正则表达式中的元字符全部按字符原义解释。
fgrep 命令搜索字符串而不是搜索匹配表达式的模式。它利用固定的字符串来对文本进行搜索但不支持正则表达式的引用所以此命令的执行速度也最快。
二、正则表达式元字符扩展集
在扩展的正则表达中把写成 \(\) 写成 ()、\{ \} 写成 {}加入了 限定符表示匹配其前面的元素至少出现一次无上限加入了 ? 限定符表示匹配其前面的元素 0 个或者 1 个新增了或符号 |表示或者的意思。基本正则表达式使用 ()、{}、、?、| 都需要加 \ 进行转义在扩展正则表达中不需要。
扩展的元字符解释匹配一个或多个前面的元素。如[a-z]able表示匹配一个或多个小写字母后跟着 able 的串如 loveable、enable、disable、aable 等。在 grep 的 pattern 中需要转义写成 \?匹配零个或 1 个前面的元素。如gr?p表示匹配 gp 或者 grp即字符 r 可有可无|代表或者的意思。如a|b|c 表示匹配 a 或 b 或 c如grep|sed 表示匹配 grep 或 sed。在 grep 中需要转义写成 \|或者通过选项 -E 来实现如grep -E c|cat filename表示在文件 filename 内查找 c 或者 cat而 egrep 直接写成egrep c|cat filename。()分组符号如love(able|rs)表示匹配 loveable 或 lovers如(ov)表示匹配一个或多个 ov即匹配至少一个 ov。在 grep 中需要使用转义符写成 \(\){m,n}匹配其前面的元素 m 到 n 次 。在 grep 中直接使用区间量词需要转义写成\{m,n\}
三、POSIX 字符集
为了在不同国家的字符编码中保持一致POSIX(The Portable Operating System Interface) 增加了特殊的字符类如 [:alnum:] 是 A-Za-z0-9 的另一个写法。要把它们放到 [] 号内才能成为正则表达式如[A- Za-z0-9] 等价于 [[:alnum:]]。除了 fgrepgrep 和 egrep 都支持 POSIX 字符集。
字符表达式说明[[:alnum:]]文字数字字符[[:alpha:]]文字字符[[:digit:]]数字字符[[:graph:]]非空字符非空格控制字符[[:lower:]]小写字符[[:cntrl:]]控制字符[[:print:]]非空字符包括空格[[:punct:]]标点符号[[:space:]]所有空白字符新行空格制表符[[:upper:]]大写字符[[:xdigit:]]十六制数字0-9a-fA-F
注如果在英语系的国家中上述的文字字符就是指英文字母。另外POSIX 字符集可以参考《正则表达式详解》中的 POSIX 字符集章节。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87781.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!