[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