正则表达式
一、正则表达式在文本处理中的常用:
1.表达文本类型的特征(病毒、入侵等)
2.同时查找或替换一组字符串
3.匹配字符串的全部或部分(主要)
二、正则表达式的常用操作符
操作符 | 说明 |
. | 表示任何单个字符 |
[] | 给定单个字符的取值范围 |
[^] | 限定字符的取值不能是括号里的字符 |
* | 前一个字符扩展0次或者无限次 |
+ | 前一个字符扩展1次或无限次 |
? | 前一个字符扩展0次或者1次 |
| | 左右表达式中的任意一个 |
{m} | 前一个字符扩展m次 |
{m,n} | 前一个字符扩展m至n次 |
^ | 不在[]里的^表示匹配字符串的开头 |
$ | 与^相反,匹配一个字符串的结尾 |
() | 分组标记,在括号内部只能使用|操作符 |
\d | 数字,等价于[0-9] |
\w | 单词字符,等价于[A-Za-z0-9_] |
三、经典正则表达式实例
^[A-Za-z]+$ | 由26个字母组成的字符串 |
^[A-Za-z0-9]+$ | 由26个字母和数字组成的字符串 |
^-?\d+$ | 整数形式的字符串 |
^[0-9]*[1-9][0-9]*$<=>^[1-9][0-9]*$ | 正整数形式的字符串(^\d+$) |
[1-9]\d{5} | 中国境内邮政编码,6位(^\d{6}$错误),不是字符串 |
[\u4e00-\u9fa5] | 匹配中文字符串 |
\d{3}-\d{8}|\d{4}-\d{7} | 国内电话号码,010-68913536(^\d{3}-\d{8}$错误) |
(([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5]).){3} ([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5]) |
IP地址符(IP地址分4段,每段是0-255) |