正则表达式
一、概念
正则表达式(Regular Expression)是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过特殊字符+普通字符来进行模式描述,从而达到文本匹配目的工具。
二、应用场景
(1)验证:表单提交时,进行用户名密码的验证。
(2)查找:从大量信息中快速提取指定内容,在一批url中,查找指定url。
(3)替换:将指定格式的文本进行正则匹配查找,找到之后进行特定替换。
三、参考语法
正则语法 | 表示含义 |
---|---|
. | 除换行符以外的所有字符。 |
^ | 字符串开头。 |
$ | 字符串结尾。 |
\d,\w,\s | 匹配数字、字符、空格。 |
\D,\W,\S | 匹配非数字、非字符、非空格。 |
[abc] | 匹配 a、b 或 c 中的一个字母。 |
[a-z] | 匹配 a 到 z 中的一个字母。 |
[^abc] | 匹配除了 a、b 或 c 中的其他字母。 |
? | 0 次或 1 次匹配。 |
* | 匹配 0 次或多次。 |
+ | 匹配 1 次或多次。 |
{n} | 匹配 n次。 |
{n,} | 匹配 n次以上。 |
{m,n} | 最少 m 次,最多 n 次匹配。 |
(expr) | 捕获 expr 子模式,以 \1 使用它。 |
(?:expr) | 忽略捕获的子模式。 |
(?=expr) | 正向预查模式 expr。 |
(?!expr) | 负向预查模式 expr。 |
修饰符
修饰符 | 含义 |
---|---|
g | 全局搜索 |
i | 忽略大小写 |
m | 多行模式(多行匹配) |
四、常用例子
情景 | 表达式 |
---|---|
QQ邮箱(2199812260@qq.com) | /^\d+@\w+\.com$/ |
9位数字 | /^\d{9}$/ |
6位字母 | /^\w{6}$/ |
浮点数乘除运算式 | /^-?\d+(\.\d+)?[*/]\d+(.\d+)?$/ |
自定义匹配 | /自定义内容/gi |
最后面跟上修饰符能起到一些奇妙的的作用