[TOC]
# 简介
正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。正则表达式是一种查找以及字符串替换操作。
# 新建正则表达式
方式一:直接量语法
```
var reg = /pattern/attributes
```
方式二:创建 RegExp 对象的语法
```
var reg = new RegExp(pattern, attributes);
```
## 参数说明:
参数 `pattern` 是一个字符串,指定了正则表达式的模式或其他正则表达式。
参数 `attributes` 是一个可选的字符串,包含属性 `g`、`i` 和 `m`,分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 `m` 属性。如果 `pattern` 是正则表达式,而不是字符串,则必须省略该参数。
## 两者区别在于:
1.采用直接量语法新建的正则表达式对象在代码编译时就会生成,是平常开发中常用的方式;
2.采用构造函数生成的正则对象要在代码运行时生成。
## 正则表达式使用:
正则对象的方法是指这样使用的: `RegExp对象.方法`(字符串)
字符串对象的方法是这样使用:`字符串.方法`(RegExp对象)
https://www.jb51.net/article/97901.htm
---
(推荐)JS正则知识点专题://www.jb51.net/article/139831.htm
## 正则工具
[正则表达式可视化调试工具|Debuggex](https://www.debuggex.com/)
[RegExr: Learn, Build, & Test RegEx](https://regexr.com/)
[Regulex](https://jex.im/regulex)
[在线正则匹配测试](http://refiddle.com/)
# 参考
[JavaScript 正则进阶之路 —— 活学妙用奇淫正则表达式](https://hub.fastgit.org/jawil/blog/issues/20)
[正则表达式教程——语法篇](https://yanhaijing.com/javascript/2017/08/06/regexp-syntax/)
- 步入JavaScript的世界
- 二进制运算
- JavaScript 的版本是怎么回事?
- JavaScript和DOM的产生与发展
- DOM事件处理
- js的并行加载与顺序执行
- 正则表达式
- 当遇上this时
- Javascript中apply、call、bind
- JavaScript的编译过程与运行机制
- 执行上下文(Execution Context)
- javascript 作用域
- 分组中的函数表达式
- JS之constructor属性
- Javascript 按位取反运算符 (~)
- EvenLoop 事件循环
- 异步编程
- JavaScript的九个思维导图
- JavaScript奇淫技巧
- JavaScript:shim和polyfill
- ===值得关注的库===
- ==文章==
- JavaScript框架
- Angular 1.x
- 启动引导过程
- $scope作用域
- $q与promise
- ngRoute 和 ui-router
- 双向数据绑定
- 规范和性能优化
- 自定义指令
- Angular 事件
- lodash
- Test