最新的Web开发教程
 

JavaScript正则表达式


正则表达式是形成一个搜索模式的字符序列。

搜索模式可用于文本搜索和文本替换操作。


什么是正则表达式?

正则表达式是形成一个搜索模式的字符序列。

当您在文本搜索数据,你可以使用这个搜索模式来描述你要搜索的内容。

正则表达式可以是一个单独的字符,或更复杂的图案。

正则表达式可用于执行所有类型的文本搜索文本替换操作。

句法

/ pattern / modifiers ;

var patt = /w3ii/i;

例子解释:

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

w3ii是一个模式(在搜索中使用)。

i是一个修改(修改搜索不区分大小写)。


使用字符串方法

在JavaScript中,正则表达式经常被用来与两个字符串方法search()replace()

search()方法使用的表达式来搜索匹配,并返回匹配的位置。

replace()方法返回,该模式被替换修改后的字符串。


使用字符串search()使用正则表达式

使用正则表达式做在一个字符串“w3ii”不区分大小写的搜索:

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

在正的结果将是:

6
试一试»

使用字符串search()用绳子

搜索方法也将接受一个字符串作为搜索参数。 字符串参数将被转换为正则表达式:

使用字符串做在一个字符串“w3ii”的搜索:

var str = "Visit w3ii!";
var n = str.search("w3ii");
试一试»

使用字符串replace()使用正则表达式

使用不区分大小写的正则表达式来取代Microsoft用一个字符串w3ii:

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

在res的结果将是:

Visit w3ii!
试一试»

使用字符串replace()用字符串

replace()方法也将接受一个字符串作为搜索参数:

var str = "Visit Microsoft!";
var res = str.replace("Microsoft", "w3ii");
试一试»

你注意到了吗?

正则表达式的参数(而不是字符串参数)可以在上面的方法中。
正则表达式可以使搜索变得更加强大(情况下,例如不区分大小写)。


正则表达式修饰符

改性剂可用于执行不区分大小写的更具全球性的搜索:

修改 描述
i 执行区分大小写的匹配
g 执行全局匹配(查找所有的匹配,而不是后的首场比赛停止)
m 执行多行匹配

正则表达式模式

支架用于查找字符的范围:

表达 描述
[abc] 狼狈不堪的括号中的字符
[0-9] 狼狈不堪的括号中的数字
(x|y) 找到任何与分离的替代品|

元字符是具有特殊含义的字符:

元字符 描述
\d 查找数字
\s 查找空白字符
\b 找到一个匹配的开始或在一个字的结束
\uxxxx 查找十六进制数XXXX规定的Unicode字符

量词定义数量:

量词 描述
n+ 匹配包含至少一个n的字符串
n* 匹配包含零个或多个n的任何字符串
n? 匹配包含零个或一个为n的任何字符串

使用RegExp对象

在JavaScript中,RegExp对象是具有预定义的属性和方法正则表达式对象。


使用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()方法是一个正则表达式表示方法。

它搜索指定模式的字符串,并返回找到的文本。

如果没有找到匹配,返回null。

下面的例子中搜索字符的字符串"e"

例1

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

由于有一个“E”的字符串,代码的输出将是:

e
试一试»

完成正则表达式参考

对于一个完整的参考,请访问我们完整的JavaScript的RegExp参考

引用包含所有的RegExp属性和方法的说明和示例。