JavaScript 正则表达式(RegExp)
-
JavaScript正则表达式
什么是正则表达式?正则表达式是形成搜索模式的字符序列。在文本中搜索数据时,可以使用此搜索模式来描述要搜索的内容。正则表达式可以是单个字符,也可以是更复杂的模式。正则表达式可用于执行所有类型的文本搜索和文本替换操作。语法:/pattern/modifiers;
例子:var patt = /jc2182/i;
示例说明:/jc2182/i 是一个正则表达式。jc2182 是一种模式(用于搜索)。i 是一个修饰符(将搜索修改为不区分大小写)。 -
使用字符串方法
在JavaScript中,正则表达式通常与两个字符串方法一起使用:search()和replace()。search()方法使用表达式搜索匹配,并返回匹配的位置。replace()方法返回修改后的字符串,其中替换了模式。使用String search() 方法
search()方法在字符串中搜索指定的值并返回匹配的位置:
尝试一下var str = "Visit JC2182!"; var n = str.search("JC2182");
使用search()和正则表达式
使用正则表达式对字符串中的“jc2182”进行不区分大小写的搜索:
尝试一下var str = "Visit JC2182"; var n = str.search(/jc2182/i);
使用String replace() 方法
replace()方法用字符串中的另一个值替换指定的值:
尝试一下var str = "Visit baidu!"; var res = str.replace("baidu", "jc2182");
replace()和正则表达式
使用不区分大小写的正则表达式将baidu替换为字符串中的jc2182:
尝试一下var str = "Visit Baidu!"; var res = str.replace(/baidu/i, "jc2182");
正则表达式参数(而不是字符串参数)可以在上面的方法中使用。 正则表达式可以使您的搜索功能更强大(例如,不区分大小写)。
-
正则表达式修饰符
修饰符 描述 尝试 i 执行不区分大小写的匹配 尝试一下 g 执行全局匹配(查找所有匹配项,而不是在第一次匹配后停止) 尝试一下 m 执行多行匹配 尝试一下 正则表达式表达式 描述 尝试 [abc] 找到括号之间的任何字符 尝试一下 [0-9] 找到括号之间的任何数字 尝试一下 (x|y) 找到用|分隔的任何替代方案 尝试一下 元字符是具有特殊含义的字符:元字符 描述 尝试 [abc] 找到括号之间的任何字符 尝试一下 [0-9] 找到括号之间的任何数字 尝试一下 (x|y) 找到用|分隔的任何替代方案 尝试一下 量词定义数量量词 描述 尝试 n+ 匹配包含至少一个n的任何字符串 尝试一下 n* 匹配包含零次或多次n的任何字符串 尝试一下 n? 匹配包含零个或一个n次出现的任何字符串 尝试一下 -
使用RegExp对象
使用test()方法
test()方法是一种RegExp表达方法。它在字符串中搜索模式,并根据结果返回true或false。以下示例在字符串中搜索字符“e”:
尝试一下var patt = /e/; patt.test("The best things in life are free!");
您不必先将正则表达式放在变量中。上面两行可以缩短为一行:/e/.test("The best things in life are free!");
使用exec()方法
exec()方法是一种RegExp表达方法。它在字符串中搜索指定的模式,并将找到的文本作为对象返回。如果未找到匹配项,则返回空(null)对象。以下示例在字符串中搜索字符“e”:
尝试一下/e/.exec("The best things in life are free!");
完整的RegExp参考请查阅我们参考手册