正则表达式
一:介绍两个有用的工具
[正则表达式练习]
二:每个符号表示的含义
. 表示单个字符
[] 表示一个范围,例如[abc]表示a,b,c
[^] 表示非,例如[^abc]表示除了abc的单个字符
* 表示0次或无限次
+ 表示一次或者无限次
? 表示0次或者1次
| 表示任意一个,例如abc|def表示abc,def
{m} 表示扩展两次,例如ab{2}c表示abbc
{m,n} 表示扩展m到n次
^ 表示字符串的开头
$ 表示字符串的结尾
() 表示分组标记,里面只能用|符号,例如(abc|def),表示abc,def
\d 表示数字,等价于[0-9]
\D 表示非数字
\w 表示字符,等价于[A-Za-z0-9_]
\W 表示非单词字符
\s 表示空白字符
\S 表示非空白字符
\S 表示非空白字符
三:常用的正则表达式
^[A-Za-z]+$ | 26个字母组成的字符串 |
^[A-Za-z0-9]+$ | 26个字母和数字组成的字符串 |
^-?\d+$ | 整数形式的字符串 |
^[0-9]*[1-9][0-9]*$ | 正整数形式字符串 |
[1-9]\d{5} | 中国境内邮政编码6位 |
[\u4e00-\u9fa5] | 匹配中文字符 |
\d{3}-\d{8}|\d{4}-\d{7} | 国内的电话号码,010-68913536 |
四:一个实际使用的例子
例如,IP地址正则表达式,例如192.168.1.1,不是简单的[0-255]:)
0-99: [1-9]?\d
100-199: 1\d{2}
200-249: 2[0-4]\d
250-255: 25[0-5]
最终表示 (([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])