1. 正则表达式
(1) 什么是正则表达式?
正则表达式是一种功能强大而灵活的文本处理工具。
(2) 正则表达式的主要作用
正则表达式主要用于:验证字符串,即检验输入的字符串是否符合给定的模式。
例如,验证输入的电话号码、手机号码、×××号码等是否符合给定的模式。
(3) 正则表达式中的特殊字符
正则表达式用来描述特定的字符串模式,例如正则表达式“a{3}”表示由三个字符“a”构成的字符串,相当于普通字符串“aaa”;正则表达式“\d”表示任意一个数字字符。在正则表达式中,有些字符具有特殊的含义,如下表所示。
正则表达式中的特殊字符
特殊字符 | 描述 |
. | 表示任意一个字符 |
| | 表示或者的意思。例如:“a|b”表示a,或者b。 |
^ | ^ab,表示以ab开始的串。 |
$ | xy$,表示以xy结尾的串。 |
[abc] | 表示a、b或c中的任意一个字符 |
[^abc] | 表示除a、b、c以外的任意一个字符 |
[a-z] | 介于a到z中的任意一个字符 |
[A-Z] | 介于A到Z中的任意一个字符 |
[a-zA-Z] | 介于a到z,或A到Z中的任意一个字符 |
- | 与[]结合使用,表示一段字符的范围。例如: [a-z],表示介于a到z中的任意一个字符。 |
\s | 空白符(空格、tab、回车、换行) |
\S | 非空白符 |
\d | 0到9的任意一个数字,等同于[0-9] |
\D | 非数字,等同于[^0-9] |
\w | 一个字符,可以是字母、数字或下划线, 等同于[a-zA-Z_0-9] |
\W | 一个字符,不能是字母、数字或下划线, 等同于[^a-zA-Z_0-9] |
(4) 正则表达式中表示字符出现次数的符号
在正则表达式中,还可以通过一些特殊符号来表示字符出现的次数,如下表所示。
正则表达式中表示字符出现次数的符号
特殊字符 | 描述 |
* | 0次或者多次 |
+ | 1次或者多次 |
? | 0次或者1次 |
{n} | 恰好n次 |
{n, m} | 至少n次,不多于m次。 |
(5) 一些常用的正则表达式
常用的正则表达式
正则表达式 | 描述 |
^\d+(\.\d+)*$ | 数字 |
^[0-9]*[1-9][0-9]*$ | 正整数 |
^\(-?\d+)(\.\d+)?$ | 浮点数 |
[\u4e00-\u9fa5] | 中文字符 |
^[a-zA-Z0-9]+$ | 由数字和26个英文字符组成的字符串 |
(\S)+[@]{1}(\S)+[.]{1}(\w)+ | E-mail地址 |
\d{3}-\d{8}|\d{4}-\d{7}|\d{4}-\d{8} | 国内电话号码 |
^[0-9]{6}$ | 邮政编码 |
^[0-9]{11}$ | 手机号码 |
^\d{15}|\d{18} | ×××号码 |
转载于:https://blog.51cto.com/andywuchuanlong/1305932