正则表达式

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+)*$

4URL地址验证:^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.*?>

 技术分享

 

以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

PHP 正则表达式总结

正则表达式

正则表达式

正则表达式“或“的使用

正则表达式 验证数字格式 非负数 小数点后保留两位 数字正则 double正则

JS正则表达式详解