正则表达式是形成一个搜索模式的字符序列。
搜索模式可用于文本搜索和文本替换操作。
什么是正则表达式?
正则表达式是形成一个搜索模式的字符序列。
当您在文本搜索数据,你可以使用这个搜索模式来描述你要搜索的内容。
正则表达式可以是一个单独的字符,或更复杂的图案。
正则表达式可用于执行所有类型的文本搜索和文本替换操作。
句法
/ 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()用绳子
搜索方法也将接受一个字符串作为搜索参数。 字符串参数将被转换为正则表达式:
使用字符串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"
完成正则表达式参考
对于一个完整的参考,请访问我们完整的JavaScript的RegExp参考 。
引用包含所有的RegExp属性和方法的说明和示例。