42人参与 • 2026-09-07 • 正则表达式
正则表达式(regular expression)是所有开发者必备的字符串处理神器。表单校验、关键词提取、文本替换、日志解析、数据清洗…… 几乎所有字符串操作都离不开它。
很多人觉得正则难记、难写,其实只要掌握语法规则 + 常用套路,就能轻松搞定 99% 的业务场景。本篇以 javascript 为例,从零到一,带你系统掌握正则表达式
正则表达式是用于匹配字符串中字符组合的模式。简单说:用一串符号规则,快速检查、查找、替换、切割字符串。
作用:
性能高、写法简洁;适合正则规则固定的场景
const reg = /pattern/modifiers
规则可动态拼接字符串生成;适合规则不确定、需要动态生成的场景
const reg = new regexp('pattern', 'modifiers')写在字面量/.../后面、构造函数第二个参数的位置,用来控制匹配模式:
. 可以匹配换行符(es2018)最常用:i、g、m
元字符是代表某一类字符,用来匹配对应的字符(多个),放在字面量/.../里面
.:匹配任意字符(除换行)
\d:数字 [0-9]
\d:非数字
\w:字母 / 数字 / 下划线 [a-za-z0-9_]
\w:非单词字符
\s:空格、换行、制表符等空白
\s:非空白
^:开头
$:结尾
表示元字符出现的次数,也是放在字面量/.../里面
*:0 次或多次
+:1 次或多次
?:0 次或 1 次
{n}:正好 n 次
{n,}:至少 n 次
{n,m}:n~m 次
示例:
/\d+/:匹配一串数字/\w{6,12}/:匹配 6~12 位字母数字下划线[abc]:匹配 a 或 b 或 c 任意一个[a-z]:匹配小写字母[a-z]:匹配大写字母[0-9]:等价于 \d[^abc]:不是 a、b、c 的任意字符a|b:匹配 a 或者 b/(abc)+/ 匹配 abc、abcabc、abcabcabc...该方法用来判断是否匹配,()里面写要判断的字符
^\d表示开头是数字,+表示多个数字,$表示结尾也是数字
/^\d+$/.test('123') // true该方法用来取出字符串里面符合正则表达式的内容,()里面要写正则表达式
'abc123def456'.match(/\d+/g) // ['123','456']
该方法用来替换符合正则表达式的内容,()里面放正则表达式和替换后的内容
'hello123'.replace(/\d/g, '*') // 'hello***'
该方法按照正则表达式来进行切分,()里面放正则表达式
'a1b2c3'.split(/\d/) // ['a','b','c']
/^\d+$/.test('123456') // true{9}:表示 \d 数字要出现九次
/^1[3-9]\d{9}$/.test('13812345678') // true[\dxx]:表示可以是\d(数字)、x、x三者之一
/^\d{17}[\dxx]$/.test('11010119900101123x')/^[\w.-]+@[\w-]+\.[\w.]{2,6}$/^ 和 $ 限定开头结尾,避免误匹配?,如 *?、+?、??() 分组,match 可以拿到分组内容正则表达式就是一套固定的字符串规则:
掌握这些,你就能轻松搞定:表单校验、数据清洗、关键词提取、日志解析、字符串格式化等几乎所有场景。正则写得多了,自然就熟练了
到此这篇关于前端必备正则表达式的文章就介绍到这了,更多相关前端必备正则表达式内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论