JavaScript中的正则表达式基础问题

来源:2-1 RegExp对象

暮女神

2016-11-14 09:31

字面量var reg = /\bis\b/g;
'He is a boy.Is he?'.replace(reg,'IS')
构造函数var reg = new RegExp('\\bisb\\','g');
'He is a boy.Is he?'.replace(reg,'IS')
直接使用'He is a boy.Is he?'.replace(/\bis\b/g,'IS')

求教:1、为何/\啥的每句表达方式都不一样(\\还有/\)
2、构造函数中的= new RegExp是啥
写回答 关注

2回答

  • Seven_io
    2016-11-15 19:02:01

    / /这个标志是起始与结尾符,划定表达式范围的,\b表示的是单词边界,而/ \是两个符号,不是一对的。'He is a boy.Is he?'.replace(/\bis\b/g,'IS'),这句的意思是将这句话中的单词is换成IS,运行结果是'He IS a boy.Is he?',而Is不会改变因为不匹配。var reg = new RegExp('\\bisb\\','g');这个意思是新建一个正则表达式对象,并对它进行构造(理解成赋值)。

  • 长耳兔子
    2016-11-15 18:58:18

    其实就是Javascript正则表达式对象定义的两种方法:1、正则表达式字面量方法:var reg = /patterns/flag;2、RegExp构造函数方法:var reg = new RegExp();接受两个字符串参数,此外需要注意双重转义  具体内容建议你看看JavaScript高级程序设计103-109页,属于基础概念吧

JavaScript正则表达式

JavaScript正则表达式教程,理解之后,正则表达式比你想象的简单

96812 学习 · 119 问题

查看课程

相似问题