正则表达式使用单个字符串来描述、匹配一系列符合某各句法规则的字符串。
元字符是构造正则表达式的基本元素:
元字符 | 说明 |
---|---|
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母或数字或下划线或汉字 |
\s | 匹配任意的空白字符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
\babc 或着 ^abc
^\d\d\d\d\d\d\d\d$
^155\d\d\d\d\d\d\d\d$
为了避免重复地书写元字符,引入重复限定符。
语法 | 说明 |
---|---|
* | 重复0次或更多次 |
+ | 重复1次或更多次 |
? | 重复0次或1次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
使重复限定符对之前的正则表达式进行改造:
^\d{8}$
^1\d{10}$
^\d{14,18}$
^ab*$
从上节的例4可以看到,限定符作用在左边最近的一个字符。如果想要ab同时被限定,应该怎么办呢?
正则表达式中使用小括号()来分组,即将括号中的内容作为一个整体。
例:匹配包含0到多个ab字符串
^(ab)*$
使用在这些限定符前加\,使元字符、限定符或关键字转移成普通字符。
例:匹配以(ab)开头的字符串
^(\(ab\))*$
正则表达式使用符号 | 来表示或,当满足任何一个条件是,都会当做是匹配成功。
例:匹配所有联通的手机号
^(130|131|132|155|156|185|186|145|176)\d{8}$
正则表达式使用 [] 来表示区间条件。
因此,前例可以改写为:
^((13[0-2]) | (15[5-6]) | (15[5-6]) | 145|176)\d{8}$
原文:https://www.cnblogs.com/jmhwsrr/p/14051835.html