首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

正则表达式,看我就懂

世界上分为两种人,一种是懂正则表达式的,一种是不懂正则表达式的。

不管你学的是什么语言,Java,iOS,安卓,都需要用到正则表达式,又因为正则表达式相通(每种语言几乎一样),所以在哪种语言学会正则,都可以用到其他语言中,下面我以python为例。

文末,有常用正则表达式

什么是正则表达式:

1、通俗理解:按照一定的规则,从某个字符串中匹配出想要的数据。这个规则就是正则表达式。

2、标准答案:https://baike.baidu.com/item/正则表达式/1700215?fr=aladdin

正则表达式常用匹配规则:

匹配某个字符串:

点(.)匹配任意的字符

\d匹配任意的数字:

\D匹配任意的非数字:

\s匹配的是空白字符(包括:\n,\t,\r和空格):

\w: 匹配的是 a-z,A-Z,数字和下划线:

\W匹配的是和\w相反的:

[]组合的方式,只要满足中括号中的某一项都算匹配成功:

之前讲到的几种匹配规则,其实可以使用中括号的形式来进行替代:

\d:[0-9]

\D:[0-9]

\w:[0-9a-zA-Z_]

\W:[^0-9a-zA-Z_]

*:可以匹配0或者多个字符

+:可以匹配1或者多个字符

?:匹配一个或0个,要么没有,要么只有一个

:匹配m个字符

:匹配m-n个字符。在这中间的字符都可以匹配到

search函数

^ (脱字号) :以什么开头,在macth函数中可以省略,效果一样,在 search 函数不可省略

$:表示以...结束:

其他补充

search:在字符串中找满足条件的字符。如果找到,就返回。说白了,就是只会找到第一个满足条件的。

:表示以...结束:¨G15G‘(脱字号)在macth函数中可以省略,效果一样,表示以什么开头¨G16G¨K39Ksearch:在字符串中找满足条件的字符。如果找到,就返回。说白了,就是只会找到第一个满足条件的。¨G17G表示以什么结尾

|:匹配多个表达式或者字符串:

贪婪模式

可以改成非贪婪模式,那么就只会匹配到0

匹配0-100之间的数字:

转义字符和原生字符串:

1、 不用原生字符串,则需要4个 \ 因为 python中 "\n" = \n, 正则表达式中 "\n" = \n,所以 "\\m" => \n

2、原生字符串 r = raw = 原生的

小案例

1、验证手机号码:手机号码的规则是以1开头,第二位可以是34587,后面那9位就可以随意了

2、验证邮箱:邮箱的规则是邮箱名称是用数字、数字、下划线组成的,然后是@符号,后面就是域名了

3、验证URL:URL的规则是前面是http或者https或者是ftp然后再加上一个冒号,再加上一个斜杠,再后面就是可以出现任意非空白字符了

4、验证身份证:身份证的规则是,总共有18位,前面17位都是数字,后面一位可以是数字,也可以是小写的x,也可以是大写的X

5、验证用户名(用户名长度为6-20位之间,大小写字母或者数字均可)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181102G0DGGY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券