正则表达式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。
1、模式匹配符
^x |
以x开头 |
x$ |
以x结尾 |
x* |
匹配x 0次或n次 |
x+ |
匹配x 1次或n次 |
x? |
匹配x 0次或1次 |
.x |
除换行符外单个字符 |
x|y |
匹配x或者y |
n{X,Y} |
匹配包含 X 至 Y 个 n 的序列的字符串。 |
\\b |
匹配分界线 一个空格 |
\\B |
非分界线 |
\\d |
匹配一个数字 |
\\D |
匹配非数字 |
\\n |
换行符 |
\\r |
回车符 |
\\s |
空白符(空格、tab、换行符、form feed) |
\\f |
表单符 |
\\v |
顶头制表符 |
\\t |
制表符 |
\\w |
数字、字母、下划线 |
\\W |
除数字、字母、下划线以外字符 |
2、初级练习
1、求非负整数:^\\d+$
2、匹配正整数:^[1-9]*[1-9][0-9]*$在网上也有这种写法的^[0-9]*[1-9][0-9]*$
这里截图我也不贴了,前者指能匹配123012这种整数,而后者可以匹配001230。
取舍就看实际的需要了
3、非正整数:^(-\\d+|(0+))$
4、负整数:^-[0-9]*[1-9][0-9]*$
5、整数:^-?\\d+$
6、非负浮点数:^\\d+(\\.\\d+)?$
7、正浮点数:^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$
8、非正浮点数:^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$
9、负浮点数:^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
10、浮点数:^(-?\\d+)(\\.\\d+)?$
11、有数字、26个英文字母组成的字符串:^[A-Za-z0-9]+$
中级练习
1、长度为8-10的用户密码(以字母开头、数字、下划线)
^[a-zA-Z]\\w{7,9}$
2、验证输入只能是汉字:^[\\u4e00-\\u9fa5]{0,}$
3、电子邮箱验证:^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$
4、URL地址验证:^http://([\\w-]+\\.)+[\\w-]+(/[\\w-./?%&=]*)?$
5、电话号码的验证:0\\d{3}-\\d{7}|0\\d{2}-\\d{8}
6、简单的身份证号验证:\\d{15}|\\d{18}$
高级练习
1、提取并捕获html标签内容:
<a(?:[^>]*)+href=([^>]*)(?:[^>]*)*>
<OPTION\\s.*?>
以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章