gpt4 book ai didi

JavaScript RegExp 对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:56:05 24 4
gpt4 key购买 nike

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

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>' );

但它不起作用。它甚至说我的正则表达式(因为第一个例子做得很好而有效)是无效的:

unmatched ) in regular expression

我认为这一定与我不知道的一些 RegExp 对象特性有关。我做错了什么,如何解决问题?

最佳答案

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

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

关于JavaScript RegExp 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/516917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com