1.RegExp是什么
当检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp 就是这种模式
RegExp 对象用于存储检索模式。
var patt1=new RegExp("e");
当使用该 RegExp 对象在一个字符串中检索时,将寻找的是字符 “e”
- g :表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止;
- i :表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写;
- m :表示多行(multiline)模式,即在到达一行文本末尾时还会继续查找下一行中是否存在与模式匹配的项
** 规则:没有正则含义的元字符都必须转义。正则表达式中的元字符包括: ( [ { \ ^ $ | ) ? * + .]}**
2.RegExp 对象有 3 个方法:test()、exec() 以及 compile()
1.test()
test() 方法检索字符串中的指定值。返回值是 true 或 false;
var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));
由于该字符串中存在字母 “e”,以上代码的输出将是:true;
2.exec()
exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null;
由于该字符串中存在字母 “e”,以上代码的输出将是:e
- 在exec()方法中,可以向 RegExp 对象添加第二个参数,以设定检索。例如,如果需要找到所有某个字符的所有存在,则可以使用 “g” 参数 (“global”);
- 在使用 “g” 参数时,exec() 的工作原理如下:
- 1> 找到第一个 “e”,并存储其位置;
2> 如果再次运行 exec(),则从存储的位置开始检索,并找到下一个 “e”,并存储其位置;
var patt1=new RegExp("e","g");
do
{
result=patt1.exec("The best things in life are free");
document.write(result);
}
while (result!=null)
由于这个字符串中 6 个 “e” 字母,代码的输出将是:eeeeeenull
3.compile()
compile() 方法用于改变 RegExp。compile() 既可以改变检索模式,也可以添加或删除第二个参数;文章来源:https://www.toymoban.com/news/detail-602248.html
var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));
patt1.compile("d");
document.write(patt1.test("The best things in life are free"));
由于字符串中存在 “e”,而没有 “d”,以上代码的输出是:true false文章来源地址https://www.toymoban.com/news/detail-602248.html
到了这里,关于new RegExp的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!