大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关正则表达式及grep工具有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的榕江网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!前言:正则表达式,又称正规表示法、常规表示法。(Regular Expression):正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。许多程序设计语言(PHP、C#、Java、C++、Objective-c、Swift、VB、Javascript、Ruby以及Python)都支持利用正则表达式进行字符串操作。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。
简单来说:正则表达式可以理解为通过描述某种规则达到某种模式匹配,这种规则称为正则表达式。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);
2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。
正则表达式的特点是:
1. 灵活性、逻辑性和功能性非常的强;
2. 可以迅速地用极简单的方式达到字符串的复杂控制。
3. 对于刚接触的人来说,比较晦涩难懂。
正则表达式由一些普通字符和一些元子符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义。eg:在最简单的情况下,一个正则表达式看上去就是一个普通的查找串。例如,正则表达式"testing"中没有包含任何元字符,它可以匹配"testing"和"testing123"等字符串,但是不能匹配"Testing"。(未包含元子符)
一个正则表达式由三部分组成:字符类(描述字符串包含字符特点),数量限定符(字符串中相应字符个数),位置限定符(字符串中字符位置特点)。
规定一些特殊语法表示字符类、数量限定符和位置关系,然后将这些特殊语法和普通字符一起表示一个模式,这就是正则表达式(Regular Expression)。
注:注意正则表达式参数用单引号括起来了,因为正则表达式中用到的很多特殊字符在Shell中也有特殊 含义(例如\),只有用单引号括起来才能保证这些字符原封不动地传给grep命令,而不会被Shell解释掉。
1.grep:文本过滤工具。它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。正则表达式在grep中用来查找符合模式的字符串,grep找的是包含某个模式的行。
egrep相当于grep -E,表示采用Extended正则表达式语法。 grep的正则表达式有Basic和Extended两种规范。二者的区别主要在于对上图中特殊字符的解析。
对于Basic模式来说,字符?+{}|()应解释为普通字符,要表示上述特殊含义则需要加\转义。
而对于Extend模式来说,字符?+{}|()应解释为特殊字符,要表示普通字面含义则需要加\转义。
具体例子:
IP地址的合法性判别
最终grep匹配合法IP表达式
grep 选项测试
关于“正则表达式及grep工具有什么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。