正则表达式

一:介绍两个有用的工具

[正则表达式学习网站]

[正则表达式练习]

二:每个符号表示的含义

.            表示单个字符
[]           表示一个范围,例如[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          表示非空白字符
三:常用的正则表达式
^[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])
posted @ 2020-02-27 22:22  薛定谔的哈士奇  阅读(105)  评论(0编辑  收藏  举报