正则表达式

来源:互联网 发布:java 多线程同步 编辑:程序博客网 时间:2024/05/27 06:55

一.概念

正则表达式是处理字符串的方法,它是以行为单位来进行字符串的处理行为,它是通过一些特殊符号的辅助,可以让用户轻易达到查找,删除,替换某特定字符串的处理程序。

二.正则表达式和通配符的区别

1.正则表达式是一种字符串处理的标示方式;

2.通配符是bash接口的一个功能。

三..特殊符号

[:alnum:]:代表英文大小写字符及数字,即0-9,A-Z,a-z;

[:alpha:]:代表英文大小写字符,即A-Z,a-z;

[:digit:]:代表数字,即0-9;

[:upper:]:代表大写字符,即A-Z;

[:lower:]:代表小写字符,即a-z;

[:blank:]:代表空格键和TAB键;

[:cntrl:]:代表键盘上面的控制按键,即包括CR,LF,Tab,Del等;

[:graph:]:代表空格键和TAB键外的其他按键;

[:punct:]:代表标点符号;

[:print:]:代表任何可以被打印出来的字符;

[:space:]:代表会产生空白的字符,包括空格键,TAB,CR等;

[:xdigit:]:代表十六进制的数字类型,及包括0-9,A-F,a-f的数字和字符。

四.基础正则表达式

1.^word:待查找的字符串(word)在行首;

2.word$:待查找的字符串(word)在行尾;

3..:代表一定有一个任意字符的字符;

4.\:转义字符,将特殊符号的特殊意义去除;

5.*:重复零到无穷多个的前一个字符;

6.[list]:从字符集合的RE字符里面找出想要选取的字符;

7.[n1-n2]:从字符集合的RE字符里面找出想要选取的字符范围,如[0-9];

8.[^list]:反向选择;

9.\{n1,n2\}:连续n1-n2的前一个RE字符。

五.拓展正则表达式

1.+:重复一个或一个以上的前一个RE字符;

2.?:零个或一个的前一个RE字符;

3.|:用或的方式找出数个字符串;

4.():聚合RE字符;

5.()+:多个重复组的判别。

六.常用正则表达式

1.IP地址:((25[0-5]|2[0-4][0-9]|[01]?[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]{1,2})

2.MAC地址:([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2}


1 0