正则表达式 元字符

1、正则表达式不包含元字符,就是纯文本检索

2、行的开头与结尾 ^(脱字符)$(美元符),注意:^和$不是匹配具体的文本,而是匹配一个位置

3、字符集合,如gr[ae]y, 首先匹配g, 下一个是r, 下一个是a或者e,最后一个是y, 这里的a和e表示一个字符集合,匹配其中的任意一个。如果想匹配小写字母,使用[a-z],这里的-连字符,是字符集合中的元字符,表示一个范围。

在字符集合中只有连字符,脱字符是元字符,并且连字符不在开头,表示一个范围。在字符集合外,连字符只是一个普通字符。

4、排除字符集合,比如[^u], 表示匹配一个字符,这个字符不是u,也就是反向选择。特别注意:q[^u] 不能匹配Iraq,思考为什么?

q[^u],匹配一个字符,这个字符不是u,首先得条件是有一个字符,二Iraq后面没有字符

5、用点号匹配任意字符,考虑下面的情况,查找文档中的日期 2015-03-17,不确定日期的分隔符,也就是说可能是2015/03/17,也有可能是2015:03:17。因此正则表达式有两种选择:2015[-/:]03[-/:]17 或者2015.03.17 。使用前者,匹配更加准确,但是会漏掉2015|03|17。使用后者,匹配的情况更多,但是会匹配不准确,比如2015103117。因此,写正则表达式,就是在准确程度和匹配范围求得平衡。

6、区分空字符,空个字符,空白字符(包括空个字符,制表符,换行符)

7、多选结构,对于字符集合gr[ae]y,可以使用gr(a|e)y,当然也可以使用 (gray|grey)。注意字符集合和多选结构的区别,字符集合只能匹配一个字符,多选结构可以是一个任意的表达式,但是多选结构没有字符集合的排除功能。

8、可选项? 出现一次,或者没有出现

9、其他量词 + 出现一次以上,*出现0次或者多次,a+等介于aa*

10、括号,括号的三中用处:限制多选项的范围;将多个字符合成一个单位,接受量词的限制;反向引用。如下:(abc) \1【注意,(abc)与\1之间有个空格】,找出重复的abc。

([a-z]{3})([0-9]) \1\2,找出重复的([a-z]{3})([0-9])

11、转义字符,在字符集合中开头的脱字符(排除),非开头连线符(表示范围)是元字符,其他都不是元字符。在字符集合外,.*+()[] 需要进行转义

时间: 2024-10-09 11:48:49

正则表达式 元字符的相关文章

通配符与正则表达式元字符的理解及grep的实例应用

什么是通配符(glob)?     通配符是Linux shell中用来描述(匹配)不确定字符的特殊符号. 看看具体通配符是如何描述字符?     *       代表任意字符任意次数     ?       代表任意单个字符0次或者1次     []      代表括号中存在的任意单个字符     [!]     代表非括号中存在的任意单个字符     [^]     代表指定范围外的任意单个字符     [a-z]   代表所有单个小写字母     [A-Z]   代表所有单个大写字母   

python正则表达式元字符

python正则表达式元字符,布布扣,bubuko.com

Python_正则表达式元字符

1 ''' 2 常用的正则表达式元字符 3 . 匹配换行符以外的任意单个字符 4 * 匹配位于'*'之前的字符或子模的0次或多次出现 5 + 匹配位于'+'之前的字符或子模式的1次或多次出现 6 - 用在[]之内用来表示范围 7 | 匹配位于'|'之前或之后的字符 8 ^ 匹配行首,匹配以^后面的字符开头的字符串 9 $ 匹配行尾,匹配以$之前的字符结束的字符串 10 ? 匹配位于'?'之前的0个或1个字符.当此字符紧随任何其他限定符(*.+.?.{n}.{n,}.{n,m}之后时,匹配模式是'

Sed 命令详解 正则表达式元字符

1.简介 sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上. sed编辑器逐行处理文件(或输入),并将结果发送到屏幕.具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上.sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示.处理完输入文件的最后一行后,sed便结束运行.sed把每一行都存在临时缓冲区中,对这个副本进行编辑,

shell中正则表达式元字符

'.'    匹配任一字符 '*'   指定*前的字符可以连续重复使用任意次 '^'   字符串开头 '$'   字符串结尾 '.*'   任意数量的字符 '\'     转义字符 '[...]' 匹配任一字符 '[^...]' 不匹配任一字符,取反 '\(....\)'  标记匹配字符,后续通过转义序列进行引用,例如\(grep\).*\1,匹配2个grep中间带有任意数目的字符 '\n'  重复在\(...\) 内的第n个模式 x\{m,n\} 区间表达式,匹配x字符出现的次数区间.x\{n

正则表达式——元字符

要想学会正则表达式,理解元字符是一个必须攻克的难关. 不用刻意记 .:匹配任何单个字符. 例如正则表达式"b.g"能匹配如下字符串:"big"."bug"."bg",但是不匹配"buug","b..g"可以匹配"buug". [ ] :匹配括号中的任何一个字符. 例如正则表达式"b[aui]g"匹配bug.big和bag,但是不匹配beg.baug

Python支持的正则表达式元字符和语法

Python支持的正则表达式元字符和语法:

Perl正则表达式元字符

正则表达式元字符(metacharacter)是不代表自身原有含义的字符.它们拥有 以某种方式控制搜索模式的特殊能力(例如只在行首或行尾搜索模式,或只在以 大写或小写字母开头的行上搜索模式).如果在它们前面加上反斜杠(\),这 些元字符就会失去其特殊含义.例如,元字符点号(.)代表任何单个字符,但 如果在前面加上反斜杠,它就会退化为一个普通的点号或句号. 如果在元字符前面出现了反斜杠,这些反斜杠就会关闭元字符的特殊含义:但如 果在正则表达式中的其他数字或字母之前出现反斜杠的话,这些反斜杠则会拥有

正则表达式--元字符的使用

一.基本简介: 1. 定义:即文本的高级匹配模式,提供搜索,替换等功能.其本质是由一系列字符和特殊符号构成的字串,这个字串即正则表达式. 2. 原理:通过普通字符和有特定含义的字符,来组成字符串,用以描述一定的字符串规则,比如:重复,位置等,来表达某类特定的字符串,进而匹配. 3. 目标 熟练掌握正则表达式元字符 能够读懂常用正则表达式,编辑简单的正则规则 能够熟练使用re模块操作正则表达式 二.元字符使用: 1.普通字符: 匹配规则:每个普通字符匹配其对应的字符 例子:re.findall('

正则表达式元字符简介

要想学会正则表达式,理解元字符是一个必须攻克的难关.不用刻意记 元字符1 .:匹配除\n之外的任何单个字符. 例如正则表达式“b.g”能匹配如下字符串:“big”.“bug”.“b g”,但是不匹配“buug”,“b..g”可以匹配“buug”. [ ] :匹配括号中的任何一个字符(范围,字符集合). 例如正则表达式“b[aui]g”匹配bug.big和bag,但是不匹配beg.baug.可以在括号中使用连字符“-”来指定字符的区间来简化表示,例如正则表达式[0-9]可以匹配任何数字字符,这样正