- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 正则表达式
正则表达式 简介 简介 正则表达式现在应用十分的广泛,出现在UNIX/Linux相关的各种领域和多种编程语言里。Linux系统管理员应该熟悉这些表达式。从常见的 shell命令到大名鼎鼎的Perl语言再到当前非常流行的PHP,它都扮演着一个重要的角色。甚至windows的命令行控制台也支持正则表达式。 可以说,它是学好Linux/UNIX必需掌握的一个知识点,否则你连Linux的启动脚本都读不懂。 正则表达式基础 正则表达式由一些普通字符和一些元字符(meta characters)组成。 普通字符包括大小写的字母和数字 元字符则具有特殊的含义 元字符 重复操作符 重复操作符,或数量词,都描述了查找一个特定字符的次数。它们常被用于字符匹配语法以查找多行的字符 参见下页表 锚 锚是指它所要匹配的格式,如下页图所示。使用它能方便你查找通用字符的合并。例如,我用vi行编辑器命令:s来代表substitute,这一命令的基本语法是: s/pattern_to_match/pattern_to_substitute/ 一些保留字符 Res的最后一个最重要特性是保留字符(也称特定字符)。例如,如果你想要查找“ne*rd”和“ni*rd”的字符,格式匹配语句“n[ei]*rd”与“neeeeerd” 和 “nieieierd”相符合,但并不是你要查找的字符。因为‘*’(星号)是个保留字符,你必须用一个反斜线符号来替代它,即:“n[ei]\*rd”。其它的保留字符包括: 一些保留字符 ^ (carat) . (period) [ (left bracket} $ (dollar sign) ( (left parenthesis) ) (right parenthesis) | (pipe) * (asterisk) + (plus symbol) ? (question mark) { (left curly bracket, or left brace) \ backslash vi替换命令用法 : ranges /pat1/pat2/g : 是Vi的命令执行界面。range 是命令执行范围的指定: 百分号(%)表示所有行点(.)表示当前行美元($)表示最末行 例如:10,20表示第10到20行,.,$表示当前行到最后一行,.+2,$-5表示当前行后两行直到全文的倒数第五行s 表示其后是一个替换命令。pat1 这是要查找的一个正则表达式pat2 这是希望把匹配串变成的模式的正则表达式g 可选标志,带这个标志表示替换将针对行中每个匹配的串进行,否则则只替换行中第一个匹配串。 vi替换命令用法 :s/org_str/dest_str????????????? //替换目标第一行中第一处的内容 :s/org_str/dest_str/g????????? //替换目标第一行中所有符合的内容 :%s/ogr_str/dest_str ???????? //替换每一行中第一处的内容 :%s/ogr_str/dest_str/g ????? //替换每一行中所有符合的内容 举例 假定有个文件test.txt包含以下几行内容: he is a rathe is in a rutthe food is RottenI like root beer我们可以使用grep命令来测试我们的正则表达式,grep命令使用正则表达式去尝试匹配指定文件的每一行,并将至少有一处匹配表达式的所有行显示出来。 grep r.t test.txt 在vim中的应用 假设有一个CSV(comma separated value)文件,里面有一些我们需要的信息,但是格式却有问题,目前数据的列顺序是: 姓名,公司名,州名缩写,邮政编码,现在我们希望讲这些数据重新组 织,以便在我们的某个软件中使用, 需要的格式为:姓名,州名缩写-邮政编码,公司名。 也就是说,我们要调整列顺序,还要合并两个列来构成一个新列。另外, 我们的软件不能接受逗号前后面有任何空格(包括空格和制表符)所以我们还必须要去掉逗号前后的所有空格。 Bill Jones,? ? ?HI-TEK Corporation ,? CA, 95011 Sharon Lee Smith,? Design Works Incorporated,? CA, 95012 B. Amos? ?,? Hill Street Cafe,? CA, 95013 Alexander Weatherworth,? The Crafts Store,? CA, 95014 我们希望把它变成这个样子: Bill Jones,C
文档评论(0)