10分钟学会正则表达式

2025-04-11 17:49:12

基础正则

. 匹配除换行符以外的任意字符

\w 匹配字母或数字或下划线,[a-zA-Z0-9]

\s 匹配任意的空白符,[\t\n\r\f]

\d 匹配数字,[0-9]

\b 匹配单词的开始或结束

^ 匹配字符串的开始

$ 匹配字符串的结束

| 或的意思 与其它程序中的&相同

字符串的转义

当我们会当有特殊符号的时候我们该怎么办法呢

如:/ ? - + * . =甚至其它特殊符号

我们可以这样以加斜杠的方式添加:如:\/ \? \- \+ \. \=

匹配次数

* 重复零次或更多次

+ 重复一次或更多次

? 重复零次或一次

{n}重复n次

{n,}重复n次或更多次(也可以理解为至少n次)

{n,m} 重复n到m次

贪婪与懒惰

*? 重复任意次,但尽可能少重复

+? 重复1次或更多次,但尽可能少重复

?? 重复0次或1次,但尽可能少重复

{n,m}? 重复n到m次,但尽可能少重复

{n,}? 重复n次以上,但尽可能少重复

匹配电话号码

好了 上面的基础部分大概都能匹配出常规你想要的一切了

比如说一个座机号码?一般的座机号码有 010-1234567 或者 010-12345678 因为我从来没有座机 所以不知道规则一般来说匹配一定要知道规则才可以匹配的 那么我们现在知道了规则就好办的多了上面的规则大概是:前面有三到四位数字一个“-”后面大概七到八位数字

那样就好办的多了

如:

\d{3}-\d{8}|\d{4}-\d{7} "|" 这个是或者的意思

匹配手机号码

手机号码的规则大概是:

13XXXXXXXXXX

15XXXXXXXXXX

18XXXXXXXXXX 额 还有什么不记得了 总之有需要你再添加 东西是死的 人是活的

那我们这时候就清楚了 第一位必须是1

第二位必须是3 5 8 或者是其它的

那么我们来试试吧

1[358]\d{9} 如果不懂的话可以看下上面的规则语句 多练习一下肯定会懂的

按照前两个例子来说 匹配QQ也是很简单的了 如:[0-9]\d{5-9} 现在的QQ都到10位了

匹配网址

我们常见的网址有很多种的 如:

http://www.baidu.com

http://www.baidu.com.cn

http://www-news.bai-du.com.cn

https://www.baidu.com

ftp://www.baidu.com.cn

那么从以上你看到了什么样的规则呢(当然你也可以匹配前三个就可以了)我一刚开始学时匹配出来的这样的 [\w]+://(\w[\w\.\-]+){2,3}不过很多人的是这样 [a-zA-z]+://[^\s]*

不管怎么样 我们最终的是要匹配出来你想要的字符串 怎么样匹配都是匹配啊 对吧

帐号验证

一般的帐号验证也是需要正则规则来匹配的

那么是如何来实现的呢

比如说你想要一个开头为字母的至少8位 又不能大于20位的帐号 那么怎么办呢

开头:一位字母[a-zA-Z] 然后是[a-zA-Z0-9]{8,20}这样不就出来了吗? [a-zA-Z][a-zA-Z0-9]{8,20}

有了这些基础的正则 我相信你也可以匹配一些基础常用的字符串了

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:33
  • 阅读量:39
  • 阅读量:81
  • 阅读量:79
  • 阅读量:87
  • 猜你喜欢