[TOC]
# 簡介
正則表達(dá)式是一種文本模式,包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱為“元字符”)。模式描述在搜索文本時要匹配的一個或多個字符串。RegExp 對象表示正則表達(dá)式,它是對字符串執(zhí)行模式匹配的強(qiáng)大工具。正則表達(dá)式是一種查找以及字符串替換操作。
# 新建正則表達(dá)式
方式一:直接量語法
```
var reg = /pattern/attributes
```
方式二:創(chuàng)建 RegExp 對象的語法
```
var reg = new RegExp(pattern, attributes);
```
## 參數(shù)說明:
參數(shù) `pattern` 是一個字符串,指定了正則表達(dá)式的模式或其他正則表達(dá)式。
參數(shù) `attributes` 是一個可選的字符串,包含屬性 `g`、`i` 和 `m`,分別用于指定全局匹配、區(qū)分大小寫的匹配和多行匹配。ECMAScript 標(biāo)準(zhǔn)化之前,不支持 `m` 屬性。如果 `pattern` 是正則表達(dá)式,而不是字符串,則必須省略該參數(shù)。
## 兩者區(qū)別在于:
1.采用直接量語法新建的正則表達(dá)式對象在代碼編譯時就會生成,是平常開發(fā)中常用的方式;
2.采用構(gòu)造函數(shù)生成的正則對象要在代碼運(yùn)行時生成。
## 正則表達(dá)式使用:
正則對象的方法是指這樣使用的: `RegExp對象.方法`(字符串)
字符串對象的方法是這樣使用:`字符串.方法`(RegExp對象)
https://www.jb51.net/article/97901.htm
---
(推薦)JS正則知識點(diǎn)專題://www.jb51.net/article/139831.htm
## 正則工具
[正則表達(dá)式可視化調(diào)試工具|Debuggex](https://www.debuggex.com/)
[RegExr: Learn, Build, & Test RegEx](https://regexr.com/)
[Regulex](https://jex.im/regulex)
[在線正則匹配測試](http://refiddle.com/)
# 參考
[JavaScript 正則進(jìn)階之路 —— 活學(xué)妙用奇淫正則表達(dá)式](https://hub.fastgit.org/jawil/blog/issues/20)
[正則表達(dá)式教程——語法篇](https://yanhaijing.com/javascript/2017/08/06/regexp-syntax/)
- 步入JavaScript的世界
- 二進(jìn)制運(yùn)算
- JavaScript 的版本是怎么回事?
- JavaScript和DOM的產(chǎn)生與發(fā)展
- DOM事件處理
- js的并行加載與順序執(zhí)行
- 正則表達(dá)式
- 當(dāng)遇上this時
- Javascript中apply、call、bind
- JavaScript的編譯過程與運(yùn)行機(jī)制
- 執(zhí)行上下文(Execution Context)
- javascript 作用域
- 分組中的函數(shù)表達(dá)式
- JS之constructor屬性
- Javascript 按位取反運(yùn)算符 (~)
- EvenLoop 事件循環(huán)
- 異步編程
- JavaScript的九個思維導(dǎo)圖
- JavaScript奇淫技巧
- JavaScript:shim和polyfill
- ===值得關(guān)注的庫===
- ==文章==
- JavaScript框架
- Angular 1.x
- 啟動引導(dǎo)過程
- $scope作用域
- $q與promise
- ngRoute 和 ui-router
- 雙向數(shù)據(jù)綁定
- 規(guī)范和性能優(yōu)化
- 自定義指令
- Angular 事件
- lodash
- Test
