JavaScript 正则表达式


正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)运用单个字符串来描绘、匹配一系列契合某个句法规矩的字符串查找形式。

查找形式可用于文本查找和文本替换。


什么是正则表达式?

正则表达式是由一个字符序列构成的查找形式。

当你在文本中查找数据是,你能够用查找形式来描绘你要查询的内容。

正则表达式可所以一个简略的字符,或一个更杂乱的形式。

正则表达式可用于一切文本查找和文本替换的操作。

语法

/pattern/modifiers;

实例:

var patt = /w3cschool/i

实例解析:

/w3cschool/i  是一个正则表达式。

w3cschool  是一个形式 (用于检索)。

i  是一个修饰符 (查找不区别大小写)。


运用字符串办法

在 JavaScript 中,正则表达式一般用于两个字符串办法 : search() 和 replace()。

search() 办法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并回来子串的开端方位。

replace() 办法 用于在字符串顶用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。


search() 办法运用正则表达式

实例

运用正则表达式查找 "w3cschool" 字符串,且不区别大小写:

var str = "Visit w3cschool";
var n = str.search(/w3cschool/i);

输出成果为:

6

测验一下 »


search() 办法运用字符串

search 办法可运用字符串作为参数。字符串参数会转化为正则表达式:

实例

检索字符串中 "w3cschool" 的子串:

var str = "Visit w3cschool!";
var n = str.search("w3cschool");

测验一下 »


replace() 办法运用正则表达式

实例

运用正则表达式且不区别大小写将字符串中的 Microsoft 替换为 w3cschool :

var str = "Visit Microsoft!";
var res = str.replace(/microsoft/i, "w3cschool");

成果输出为:

Visit w3cschool!

测验一下 »

replace() 办法运用字符串

replace() 办法将接纳字符串作为参数:

var str = "Visit Microsoft!";
var res = str.replace("Microsoft", "w3cschool");

测验一下 »


你注意到了吗?


Note 正则表达式参数可用在以上办法中 (代替字符串参数)。
正则表达式使得查找功用愈加强壮(如实例中不区别大小写)。


正则表达式修饰符

修饰符 能够在大局查找中不区别大小写:

修饰符 描绘
i 履行对大小写不灵敏的匹配。
g 履行大局匹配(查找一切匹配而非在找到第一个匹配后中止)。
m 履行多行匹配。


正则表达式形式

方括号用于查找某个范围内的字符:

表达式 描绘
[abc] 查找方括号之间的任何字符。
[0-9] 查找任何从 0 至 9 的数字。
(x|y) 查找任何故 | 分隔的选项。

元字符是具有特别意义的字符:

元字符 描绘
\d 查找数字。
\s 查找空白字符。
\b 匹配单词鸿沟。
\uxxxx 查找以十六进制数 xxxx 规则的 Unicode 字符。

量词:

量词 描绘
n+ 匹配任何包括至少一个 n 的字符串。
n* 匹配任何包括零个或多个 n 的字符串。
n? 匹配任何包括零个或一个 n 的字符串。


运用 RegExp 目标

在 JavaScript 中,RegExp 目标是一个预界说了特点和办法的正则表达式目标。


运用 test()

test() 办法是一个正则表达式办法。

test() 办法用于检测一个字符串是否匹配某个形式,假如字符串中含有匹配的文本,则回来 true,不然回来 false。

以下实例用于查找字符串中的字符 "e":

实例

var patt = /e/;
patt.test("The best things in life are free!");

字符串中含有 "e",所以该实例输出为:

true

测验一下 »

你能够不必设置正则表达式的变量,以上两行代码能够合并为一行:

/e/.test("The best things in life are free!")


运用 exec()

exec() 办法是一个正则表达式办法。

exec() 办法用于检索字符串中的正则表达式的匹配。

该函数回来一个数组,其间寄存匹配的成果。假如未找到匹配,则回来值为 null。

以下实例用于查找字符串中的字母 "e":

Example 1

/e/.exec("The best things in life are free!");

字符串中含有 "e",所以该实例输出为:

e

测验一下 »


完好的 RegExp 参阅手册

完好的 RegExp 目标参阅手册,请参阅咱们的 JavaScript RegExp 参阅手册

该参阅手册包括了一切 RegExp 目标的办法和特点。