Javascript正则表达式匹配两个括号[[something]]

Javascript正则表达式匹配两个括号[[something]],javascript,regex,string-matching,Javascript,Regex,String Matching,尝试匹配任何宽度和,包括两个括号,例如[[match this]],这样我就可以不用括号替换 以下是我所拥有的var regex=/([\[\\\\;\]])\w+/g 但是,这与上述内容匹配,如下所示 如果您的([\[\\\\\]])\w+匹配一个符号-[,或](带([\[\\\\]]]),然后匹配一个或多个单词(字母数字或下划线字符)。请参阅 使用以下更换件: .replace(/\[\[(.*?)]]/g, "$1") 看 /\[\[(.*)]]/g将查找所有非重叠出现的[[,后跟除换行

尝试匹配任何宽度和,包括两个括号,例如
[[match this]]
,这样我就可以不用括号替换

以下是我所拥有的
var regex=/([\[\\\\;\]])\w+/g

但是,这与上述内容匹配,如下所示

如果您的
([\[\\\\\]])\w+
匹配一个符号-
[
]
(带
([\[\\\\]]]
),然后匹配一个或多个单词(字母数字或下划线字符)。请参阅

使用以下更换件:

.replace(/\[\[(.*?)]]/g, "$1")

/\[\[(.*)]]/g
将查找所有非重叠出现的
[[
,后跟除换行符以外的0+字符(如果还需要匹配换行符,请替换为
[^]*?
[\s\s]*?
),然后是两个文字符号
]
(注意,在JS模式中,不需要在字符类之外转义它们)

*?
尽可能少地匹配除换行符以外的任何字符,以便引擎返回有效匹配,即它匹配到第一次出现的
]
。如果匹配必须包括所有字符,直到最后一次出现的
]
*
就足够了


请注意,如果
[[
/
]
中的子字符串很长,我宁愿将整个正则表达式模式展开为
/\[\[([^\]*(?:](?!])[^\]*)]/g
[\\\\\\]
表示任何字符
[
]
。您需要转义每个方括号。
\w+
仍在任何括号之外,并且它不会与示例中的空格相匹配
[[match this]]
。为什么
*
…不应该
*
足够吗?我忘了添加:
*?
匹配引擎返回有效匹配的新行以外的尽可能少的任何字符,即它匹配到第一次出现的
]
。如果匹配必须包括最后一次出现的所有字符出现
]
*
就足够了。请注意,如果
[[
/
]]
中的子字符串很长,我宁愿将其展开为
/\[([^\]*(?:](?!])[^\]*)]/g
。Gotchya…我知道你来自哪里了。