当前位置:  开发笔记 > 编程语言 > 正文

JavaScript RegExp对象

如何解决《JavaScriptRegExp对象》经验,为你挑选了1个好方法。

我尝试用JavaScript编写一个简单的Markdown解析器.因此,我想检查[link content][link id]语法.我使用以下代码:

data = data.replace( /\[(.*?)\][ ]*\[([0-9]+)\]/g, '$1' );

它运行良好,但现在我想用RegExp对象来做这件事.所以我设置了以下代码:

var r = new RegExp( '\[(.*?)\][ ]*\[([0-9]+)\]', 'g' );
data = data.replace( r, '$1' );

但它不起作用.它甚至说我的正则表达式(自第一个例子以来工作得很好)是无效的:

正则表达式中无与伦比的

我认为它必须与我不知道的一些RegExp-object特性有关.我做错了什么,问题怎么解决?



1> Sean Bright..:

因为RegExp构造函数的第一个参数是字符串而不是模式文字,所以必须转义反斜杠,因为您需要模式中的文字反斜杠:

var r = new RegExp( '\\[(.*?)\\][ ]*\\[([0-9]+)\\]', 'g' );

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有