我尝试在JavaScript中编写简单的Markdown解析器。因此我想检查[link content][link id]
语法。我使用下面的代码:JavaScript RegExp对象
data = data.replace(/\[(.*?)\][ ]*\[([0-9]+)\]/g, '<a href="$2">$1</a>');
它运作良好,但现在我想用RegExp对象来做到这一点。所以我设置了下面的代码位:
var r = new RegExp('\[(.*?)\][ ]*\[([0-9]+)\]', 'g');
data = data.replace(r, '<a href="$2">$1</a>');
但它不工作。它甚至说,我的正则表达式(其中工程以来,第一个例子做了很好的工作)是无效的:
无与伦比)在正则表达式
我认为,必须有一些RegExp-做我不知道的物体特性。 我在做什么错,怎么解决问题?
在旁注中,您可能会发现通过在线测试程序运行JavaScript正则表达式很有用(http://www.pagecolumn.com/tool/regtest.htm)。 – Dscoduc 2009-02-05 17:27:50
谢谢,似乎是一个伟大的工具。我使用了这个(http://regexp-evaluator.de/evaluator/)PHP-ish评估器。也许JS-ish在使用JS编写脚本时效果更好:) – okoman 2009-02-05 17:31:31