首页 > 其他 > 详细

正则表达式基础

时间:2020-11-28 12:30:11      阅读:24      评论:0      收藏:0      [点我收藏+]

正则表达式

正则表达式使用单个字符串来描述、匹配一系列符合某各句法规则的字符串。

1. 元字符:

元字符是构造正则表达式的基本元素:

元字符 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白字符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
  1. 匹配有abc开头的字符串:

\babc 或着 ^abc

  1. 匹配8位数字的QQ号码:

^\d\d\d\d\d\d\d\d$

  1. 匹配以155开头的11位数字的手机号码:

^155\d\d\d\d\d\d\d\d$

2. 重复限定符

为了避免重复地书写元字符,引入重复限定符。

语法 说明
* 重复0次或更多次
+ 重复1次或更多次
重复0次或1次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次

使重复限定符对之前的正则表达式进行改造:

  1. 匹配8位数字的QQ号码:

^\d{8}$

  1. 匹配1开头11位数字的手机号码:

^1\d{10}$

  1. 匹配银行卡号是14~18位的数字:

^\d{14,18}$

  1. 匹配以a开头的,0个或多个b结尾的字符串

^ab*$

3. 分组

从上节的例4可以看到,限定符作用在左边最近的一个字符。如果想要ab同时被限定,应该怎么办呢?

正则表达式中使用小括号()来分组,即将括号中的内容作为一个整体。

例:匹配包含0到多个ab字符串

^(ab)*$

4. 转义

使用在这些限定符前加\,使元字符、限定符或关键字转移成普通字符。

例:匹配以(ab)开头的字符串

^(\(ab\))*$

5. 条件或

正则表达式使用符号 | 来表示或,当满足任何一个条件是,都会当做是匹配成功。

例:匹配所有联通的手机号

^(130|131|132|155|156|185|186|145|176)\d{8}$

6. 区间

正则表达式使用 [] 来表示区间条件。

  1. 限定0到9:[0-9]
  2. 限定A到Z:[A-Z], [a, z]
  3. 限定某些数字[165]

因此,前例可以改写为:

^((13[0-2]) | (15[5-6]) | (15[5-6]) | 145|176)\d{8}$

正则表达式基础

原文:https://www.cnblogs.com/jmhwsrr/p/14051835.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!