正则表达式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。

一、元字符

元字符是有特定含义的字符。

. 匹配除换行符外的任何字符 例如,可以匹配1,n,*,+,-
\\w 匹配数字或字母或下划线或汉字

例如,\\d\\w\\s,匹配第一个字符

是数字,第二个字符是数字/字母/

下划线或汉字,第三个字符是空白

的字符串

\\s 匹配任意的空白符  
\\d 匹配数字  
\\b 匹配单词的开始或结束  例如,匹配单词\\bOlive\\b
^ 匹配字符串的开始(在集合中[^]表示不匹配的意思)

 例如,^\\d\\d\\d$,匹配三个字符

都是数字的字符串

$ 匹配字符串的结束  

二、反义字符

符号 和谁相反 含义
\\W \\w 匹配任意不是数字、字母、下划线和汉字的字符
\\S \\s 匹配任意不是空白符的字符
\\D \\d 匹配任意不是数字的字符
\\B \\b 匹配任意不是单词的开头或结束
[^x] ^x 匹配任意除x外的字符
     

三、限定字符

限定字符用于重复匹配的次数。

* 重复0次或更多次
+ 重复一次或更多次
重复0次或1次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n次到m次

 

四、转义字符

在实际开发中,当需要匹配元字符时,需要将字符转移,例如,.转义为\\.,\\转义为\\\\。

五、字符分枝

字符分枝用于匹配有多种选择的情况,用“|”来分隔,例如,有的地方电话号码区号有3位,有的有4位,可以这样匹配:

\\d{3}-\\d{8}|\\d{4}-\\d{8}

六、常用正则表达式整理

1)只能输入数字:^[0-9]*$

2)只能输入n位数字:^\\d{n}$

3)只能输入至少n位数字:^\\d{n,}$

4)只能输入n~m位数字:^\\d{n,m}$

5)只能输入0或非0开头的数字:^(0|[1-9])([0-9]*)$

6)只能输入有两位小数的正实数:^[0-9]\\.[0-9]{2}$

7)只能输入有1~3位小数的正实数:^[0-9]\\.[0-9]{1,3}$

8)只能输入非0的正整数:^[+]?[1-9][0-9]*$

9)只能输入非0的负整数:^[-][1-9][0-9]*$

10)只能输入长度为3的字符:^.{3}$

11)只能输入26个英文字符组成的字符串:^[A-Za-z]+$

12)只能输入数字或26个英文字母组成的字符串:^[0-9A-Za-z]+$

13)不能输入某些特殊字符:[^[email protected]#$%^&*()]

14)只能输入汉字:^[\\u4e00-\\u9fa5]*$

15)验证邮箱:\\w+((-w+)|(\\.w+))*@[A-Za-z0-9]+((\\.|-[A-Za-z0-9]+))*\\.[A-Za-z0-9]+

技术分享

16)验证internetURL:^[A-Za-z]+:\\/\\/[^\\s]+$

技术分享

17)验证座机电话号码:^(\\d{3,4}-)?\\d{7,8}$

18)验证手机号码:^(13|14|15|18)\\d{9}$

19)验证身份证号(15或18位):^(\\d{18}|\\d{17}[x]|\\d{15})$

 

推荐一个验证图形化分析正则表达式的网站:https://regexper.com/ 

 

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

PHP 正则表达式总结

正则表达式

正则表达式

正则表达式“或“的使用

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

JS正则表达式详解