Linux正则表达式-排除字符类

通常,字符类包括在哪个位置想要匹配的所有的字符。在类中作为第一个字符的脱字符(^)将类中的所有字符排除在被匹配之外。相反,除换行符以外的没有列在方括号中的任意字符都将匹配。下面的模式将匹配任意非数字字符:

[^0-9]

它匹配字母表中所有的大写和小写字母以及所有特殊字符,例如标点符号。排除特殊字符有时比显示地列出想要匹配的所有字符更方便。例如,如果想要匹配任意辅音,可以简单地排除元音:

[^aeiou]

该表达式匹配任意辅音,大写的任意元音,任意标点符合或特殊的字符。

请看下面的正则表达式:

\.DS "[^1]"

该表达式匹配字符串".DS" 其后依次跟随一个空格、一个双引号、一个非数字和一个双引号。这样设置是为了避免匹配下面的行:

.DS "1"

而匹配这样的行,例如:

. DS "l"

. DS "2"

这种语法还可以用来限制匹配的范围,正如随后要看到的那样。

参考资料:http://www.linuxawk.com/communication/427.html

时间: 2024-10-23 11:20:01

Linux正则表达式-排除字符类的相关文章

Mysql正则表达式基本字符类的匹配和多个实例的匹配

例子:  只打印包含数字的 这里的\\是转义字符  去掉\\不加括号也是对的 这只是小细节- -   个人认为表达[0-9]或者[\\.] 用一个表达或意思的'|'更为清楚 虽然是等价的- - 当然这里只是很基本的正则表达式  经常遇到很多更奇怪的需求  所以不要陷入代码细节吧  知道思路 等到需要用到的时候 去https://dev.mysql.com/doc/refman/5.7/en/查找相关资料或者谷歌别人是如何应用的 命令  真正急用的那个时候你将无比的强大 本文参考mysql必知必会

正则表达式-字符类减法

字符类减法: [base_group - [excluded_group]] 一个字符类定义一组字符. 字符类减法将产生一组字符,该组字符是从一个字符类中排除另一个字符类中的字符的结果. 字符类减法表达式具有以下形式: [ base_group -[ excluded_group ]] 方括号 ([]) 和连字符 (-) 是强制的. base_group 是正字符组或负字符组. excluded_group 部分是另一个正字符组或负字符组,或者是另一个字符类减法表达式(即,可以嵌套字符类减法表达

Linux下find一次查找多个指定类型文件,指定文件或者排除某类文件

Linux下find一次查找多个指定文件或者排除某类文件,在 GREP 中匹配多个关键字的方法(1)Linux下find一次查找多个指定文件:查找a.html和b.html find . -name "a.html"  -name "b.html" find . -regex '.*\.txt\|.*\.doc\|.*\.mp3' find . -regex '.*\.txt\|.*\.doc\|.*\.mp3' ./a.txt ./a.doc ./a.mp3 (2

JavaScript正则表达式-字符类

JavaScript正则表达式字符类包括六种: 1.字符列表. 2.反向列表. 3.字符范围. 4.反向范围. 5.组合类. 6.预定义类. 字符列表 在方括号内指定一个或者多个字符组成的字符列表,与字符列表中任意字符匹配,都被认为是匹配的.每次匹配只能匹配列表中的一个字符. str = "bird,head,fed,meadow,3d"; reg_pattern = /[rea3s]d/g; arr_m = str.match(reg_pattern);//arr_m = [&quo

Linux正则表达式-字符的跨度

元字符允许你指定重复出现的字符.考虑下面的表达式: 11*0 它将匹配下面的每一行: 10 110 111110 1111111111111111111111111110 这些元字符使正则表达式具有了伸缩性. 现在我们来看一对用于指定跨度并决定跨度长度的元字符.可以指定一个字母或正则表达式出现的最小或最大次数. 在grep和sed中使用\{和\}. awk不支持.在任何情况下,大括号包围一个或两个参数. \{n,m\} n和m是0到255之间的整数.如果只指定\{n\}本身,那么将精确匹配前面的

正则表达式-字符类

字符类是对通配符概念的改进.我们可以列出要匹配的字符,而不是匹配特殊位置的任意字符.使用方括号元字符( [] )将字符列表括起来,其中每个字符占据一个位置. 字符类在处理大写和小写字母时非常有用.例如,如果"what" 可能以首字母大写或小写的形式出现,则可以指定: [Ww]hat 这个正则表达式可以匹配"what" 或"What" .它匹配包含这4个字符的字符串的任意行,第一个字符是"W" 或"w" .因

一个通用的php正则表达式匹配或检测或提取特定字符类

在php开发时,日常不可或缺地会用到正则表达式,可每次都要重新写,有时忘记了某一函数还要翻查手册,所以,抽空写了一个关于日常所用到的正则表达式区配类,便于随便移置调用.(^_^有点偷懒). /*///////////////////////////////////////////////////////////// * 类MatchAll功能:主要用于php日常所用到的几种检测匹配或提取特定字符.// * 主要参数设置说明: $target_str 为目标字符即需要检测的字符或数字.// * $

JS正则表达式从入门到入土(2)—— 元字符和字符类

元字符和字符类 元字符 正则表达式由两种基本字符类型组成: 1.原义(正常)文本字符:代表本身含义的字符,如:a.b.c.1.2.3等. 2.元字符:元字符是在正则表达式中有特殊含义的非字母字符,如\b代表单词边界,可以是单词的开头或结尾. 常见的符号元字符: *+?$^.|\(){}[] 字符类 一般情况下,正则表达式一个字符对应字符串一个字符.比如,表达式ab\t的含义就是ab加上一个\t(水平制表符). 但是,很多时候,我们不想匹配某个字符,而想匹配某类字符.此时,我们可以使用元字符[]来

正则表达式——字符类、分支条件、分组

思路来源:http://deerchao.net/tutorials/regex/regex.htm#alternative 感谢deerchao,写的比菜鸟教程好太多了.现在感觉菜鸟教程可能就是翻译了一些doc,而且是思路结构不太清晰的doc…… 进入正题,主要还是看了教程后自己的理解. 字符类 字符类,即为如 [aeiou].[1-9].[19].[.?!] 等用英文中括号括起字符的字符集合. 解释与辨析: [aeiou]:匹配a 或 e 或 i 或 o 或 u . [0-9]:匹配 0 或