正则表达式元字符总结

元字符的总结:

1.在字符匹配中有以下几个元字符

. 在模式匹配中表示匹配除 以外的任意单个字符(注意该元字符是一个点号);

[ ] 匹配指定集合中的任意单个字符

例 如 [abcde]  匹配 abcde 之中的任意一个字符 

[^ ] 匹配指定集合外的任意单个字符

例 如 [^fgh]  匹配任意一个不包括fgh的字符

2.匹配次数类别中有以下几个元字符

* 匹配其前面任意次(0次或1次或多次),记住,在这里要特别跟通配符作下比较(在通配符里 * 表示匹配任意长度的字符)

例如:grep 'x*y'

                    xy, xxy, xxxy, y

? 匹配其前面的字符0次或是1次

例如:grep 'x?y'

                 xy, aby

+ 匹配其前面的字符至少1次

{m} 匹配其前面的字符m次
例如:grep 'x{2}y'

Xxy

{m,n} 匹配其前面的字符至少m次,之多m次

{m,} 匹配其前面的字符至少m次,没有上限

{0,m} 匹配其前面的字符字符之多m次

 

3.组合类别,有以下几个元字符:

.* 匹配任意长度的任意字符

4.位置锚定类别,有以下几个元字符:

^ 行首锚定(写在模式最左侧)

$ 行尾锚定(写在模式最右侧)

^$ 空白行

< 词首锚定或是 

(出现在要查找的单词模式的左侧:<char)

> 词尾锚定

(出现在要查找的单词模式的左侧:char>)

< pattern> 匹配单词

5.分组:

()

后向引用:模式中,如果使用( )实现了分组,在某行文本中,如果( )的模式匹配到的某内容,此内容后面的模式中,可以被引用模式 1, 2 , 3…

1 表示引用第1个左括号

2 表示引用第2 个左括号

3 表示引用第3个左括号

…….

# 表示引用第#个左括号

 

 

 

 

原文地址:https://www.cnblogs.com/na2po2lun/p/4146698.html