几个常用的正则表达式

2018-02-26 20:48:41 Python 阅读 (2641) 评论(1)

  正则表达式的巧妙使用,可以让我们在一些特定的场景下的开发如虎添翼。这里就分享几个常用的正则表达式,包括手机号正则表达式,固定电话正则表达式,网址正则表达式,身份证号正则表达式等等

一.邮箱正则表达式

  邮箱格式一般为123456@qq.com,xxxx@xx.com,xxx@xxx.edu.cn等形式,@ 前可以有大小写英文字母,数字,下划线(_),中划线(-).个别情况下还可能有中文,所以匹配邮箱的正则表达式就可以这样写

^[a-zA-Z0-9\u4e00-\u9fa5_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$

如果需求中确定邮箱中不包含中文,可以这样写

^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$

二.固定电话正则表达式

  国内的固定电话一般是由左边3位或4位区号(区号第一位固定为0),中间是中划线(-),右边7位或8位数字(号码第一位不是0)组成的,由此匹配固定电话的正则表达式可以这样写

^0[1-9]{2,3}-[1-9][0-9]{6,7}$

有的时候,固话中间可能没有 - ,所以正则表达式可以改成这样的

^0[1-9]{2,3}[-]?[1-9][0-9]{6,7}$

三.手机号正则表达式

  国内手机号都是11位数字,第一位固定为1,第二位数字比较麻烦,但是鉴于国内号段越来越多,其实把这位也当成简单数字就可以了,正则表达式如下

^1[0-9]{10}$

四.身份证号正则表达式

  国内身份证号为15位(很少了)和18位两种,其实身份证号格式也很复杂,我这里也从简处理了,分15位和18位,18位的末位可能是数字或X(x),正则表达式如下

(^\d{15}$)|(^\d{17}(\d|x|X)$)

五.网址(网站)正则表达式

  网址的格式很多,开头可以有http://或https://,有的带www,有的不带www,这样的www.baidu.com,http://www.baidu.com,http://sysheng.cn,www.sina.com.cn等,

所以正则如下

(http://|https://)?(www\.)?([a-zA-Z0-9_-]+\.)+[a-z]+


相关内容

评论

诗意林 18-03-03 15:40:57 还可以