仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 785|回复: 8
打印 上一主题 下一主题

[其他Linux] 带来一篇UNIX和LINUX体系的SHELL正则表达式语法

[复制链接]
小魔女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 17:16:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果你学不好的话,你在linux中开发的机会就很少,或者说几乎没有,它的优势就消失了,然后随着时间的流逝,你就会全部忘记她;
 一个正则表达式就是由一般字符(比方字符a到z)和特别字符(称为元字符)构成的笔墨形式。该形式形貌在查找笔墨主体时待婚配的一个或多个字符串。正则表达式作为一个模板,将某个字符形式与所搜刮的字符串举行婚配。
  将下一个字符标志为一个特别字符、或一个原义字符、或一个后向援用、或一个八进制本义符。比方,n婚配字符"n"。婚配一个换行符。序列婚配""而"("则婚配"("。
  ^
  婚配输出字符串的入手下手地位。
  $
  婚配输出字符串的停止地位。
  *
  婚配后面的子表达式零次或屡次。比方,zo*能婚配"z"和"zoo"。*等价于{0,}。
  +
  婚配后面的子表达式一次或屡次。比方,zo+能婚配"zo"和"zoo",但不克不及婚配"z"。+等价于{1,}。
  ?
  婚配后面的子表达式零次或一次。比方,"do(es)?"能够婚配"do"或"does"中的"do"。?等价于{0,1}。
  {n}
  n是一个非负整数。婚配断定的n次。比方,o{2}不克不及婚配"Bob"中的o,可是能婚配"food"中的两个o。
  {n,}
  n是一个非负整数。最少婚配n次。比方,o{2,}不克不及婚配"Bob"中的o,但能婚配"foooood"中的一切o。o{1,}等价于o+。o{0,}则等价于o*。
  {n,m}
  m和n均为非负整数,个中n<=m。起码婚配n次且最多婚配m次。"o{1,3}"将婚配"fooooood"中的前三个o。o{0,1}等价于o?。请注重在逗号和两个数之间不克不及有空格。
  ?
  当该字符紧跟在任何一个其他限定符(*,+,?,{n},{n,},{n,m})前面时,婚配形式长短贪心的。非贪心形式尽量少的婚配所搜刮的字符串,而默许的贪心形式则尽量多的婚配所搜刮的字符串。比方,关于字符串"oooo",o+?将婚配单个"o",而o+将婚配一切o。
  .
  婚配除""以外的任何单个字符。要婚配包含在内的任何字符,请利用象[.]的形式。
  (pattern)
  婚配pattern并猎取这一婚配。所猎取的婚配能够从发生的Matches汇合失掉,在VBScript中利用SubMatches汇合,在VisualBasicScriptingEdition中则利用{GetProperty(Content)}…$9属性。要婚配圆括号字符,请利用(或)。
  (?:pattern)
  婚配pattern但不猎取婚配了局,也就是说这是一个非猎取婚配,不举行存储供今后利用。这在利用"或"字符(|)来组合一个形式的各个部分是很有效。比方,industr(?:y|ies)就是一个比industry|industries更大略的表达式。
  (?=pattern)
  正向预查,在任何婚配pattern的字符串入手下手处婚配查找字符串。这是一个非猎取婚配,也就是说,该婚配不必要猎取供今后利用。比方,Windows(?=95|98|NT|2000)能婚配"Windows2000"中的"Windows",但不克不及婚配"Windows3.1"中的"Windows"。预查不用耗字符,也就是说,在一个婚配产生后,在最初一次婚配以后当即入手下手下一次婚配的搜刮,而不是从包括预查的字符以后入手下手。
  (?!pattern)
  负向预查,在任何不婚配Negativelookaheadmatchesthesearchstringatanypointwhereastringnotmatchingpattern的字符串入手下手处婚配查找字符串。这是一个非猎取婚配,也就是说,该婚配不必要猎取供今后利用。比方Windows(?!95|98|NT|2000)能婚配"Windows3.1"中的"Windows",但不克不及婚配"Windows2000"中的"Windows"。预查不用耗字符,也就是说,在一个婚配产生后,在最初一次婚配以后当即入手下手下一次婚配的搜刮,而不是从包括预查的字符以后入手下手。
[NextPage]
  x|y
  婚配x或y。比方,z|food能婚配"z"或"food"。(z|f)ood则婚配"zood"或"food"。
  [xyz]
  字符汇合。婚配所包括的恣意一个字符。比方,[abc]能够婚配"plain"中的a。
  [^xyz]
  负值字符汇合。婚配未包括的恣意字符。比方,[^abc]能够婚配"plain"中的p。
  [a-z]
  字符局限。婚配指定局限内的恣意字符。比方,[a-z]能够婚配a到z局限内的恣意小写字母字符。
  [^a-z]
  负值字符局限。婚配任何不在指定局限内的恣意字符。比方,[^a-z]能够婚配任何不在a到z局限内的恣意字符。
  
  婚配一个单词界限,也就是指单词和空格间的地位。比方,er能够婚配"never"中的er,但不克不及婚配"verb"中的er。
  B
  婚配非单词界限。erB能婚配"verb"中的er,但不克不及婚配"never"中的er。
  cx
  婚配由x指明的把持字符。比方,cM婚配一个Control-M或回车符。x的值必需为A-Z或a-z之一。不然,将c视为一个原义的c字符。
  d
  婚配一个数字字符。等价于[0-9]。
  D
  婚配一个非数字字符。等价于[^0-9]。
  f
  婚配一个换页符。等价于x0c和cL。
  婚配一个换行符。等价于x0a和cJ。
  婚配一个回车符。等价于x0d和cM。
  s
  婚配任何空缺字符,包含空格、制表符、换页符等等。等价于[f  v]。

  S
  婚配任何非空缺字符。等价于[^f  v]。
  婚配一个制表符。等价于x09和cI。
  v
  婚配一个垂直制表符。等价于x0b和cK。
  w
  婚配包含下划线的任何单词字符。等价于[A-Za-z0-9_]。
  W
  婚配任何非单词字符。等价于[^A-Za-z0-9_]。
  xn
  婚配n,个中n为十六进制本义值。十六进制本义值必需为断定的两个数字长。比方,x41婚配"A"。x041则等价于x04&"1"。正则表达式中可使用ASCII编码。.
  um
  婚配num,个中num是一个正整数。对所猎取的婚配的援用。比方,(.)1婚配两个一连的不异字符。
  标识一个八进制本义值或一个后向援用。假如之前最少n个猎取的子表达式,则n为后向援用。不然,假如n为八进制数字(0-7),则n为一个八进制本义值。
  m
  标识一个八进制本义值或一个后向援用。假如m之前最少有isprecededbyatleastnm个猎取得子表达式,则nm为后向援用。假如m之前最少有n个猎取,则n为一个后跟笔墨m的后向援用。假如后面的前提都不满意,若n和m均为八进制数字(0-7),则m将婚配八进制本义值nm。
  ml
  假如n为八进制数字(0-3),且m和l均为八进制数字(0-7),则婚配八进制本义值nml。
  un
  婚配n,个中n是一个用四个十六进制数字暗示的Unicode字符。比方,u00A9婚配版权标记(?)。

</p>
要多google,因为我不可能,也不可以给你解答所有内容,我只能告诉你一些关键点,甚至我会故意隐瞒答案,因为在寻找答案的过程中。
透明 该用户已被删除
沙发
发表于 2015-1-17 12:10:37 | 只看该作者
Linux的成功就在于用最少的资源最短的时间实现了所有功能,这也是符合人类进化的,相信以后节能问题会日益突出。
只想知道 该用户已被删除
板凳
发表于 2015-1-20 18:53:17 | 只看该作者
随着Linux技术的更加成熟、完善,其应用领域和市场份额继续快速增大。目前,其主要应用领域是服务器系统和嵌入式系统。然而,它的足迹已遍布各个行业,几乎无处不在。
若相依 该用户已被删除
地板
发表于 2015-1-29 15:06:14 | 只看该作者
和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。
乐观 该用户已被删除
5#
发表于 2015-2-6 02:29:16 | 只看该作者
不同于Windows?系统需要花钱购买,因为Linux的核心是免费的,自由使用的,核心源代码是开放的。
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-15 02:24:12 | 只看该作者
即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。
因胸联盟 该用户已被删除
7#
发表于 2015-3-11 18:45:24 | 只看该作者
我们自学,就这个循环的过程中,我们学习了基本操作,用vi,shell,模拟内存的分配过程等一些OS管理。
小妖女 该用户已被删除
8#
发表于 2015-3-19 07:56:46 | 只看该作者
Linux简单,占内存少,特别是对于程序开发人员来说很方便,如果说windows的成功在于其方便用户的窗口管理界面。
兰色精灵 该用户已被删除
9#
发表于 2015-3-27 16:10:56 | 只看该作者
直到学习Linux这门课以后,我才知道,原来我错了。?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-29 17:57

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表