为了账号安全,请及时绑定邮箱和手机立即绑定

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

字面量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 回答

/ /这个标志是起始与结尾符,划定表达式范围的,\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');这个意思是新建一个正则表达式对象,并对它进行构造(理解成赋值)。

0 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript正则表达式
  • 参与学习       96813    人
  • 解答问题       119    个

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

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信