Javascript REGEX 匹配两个括号 [[something]]
Javascript REGEX matching two brackets [[something]]
试图匹配任何宽度和包括两个括号,例如[[match this]]
所以我可以不用括号替换。
这是我目前所掌握的 var regex = /([\[\|\]])\w+/g;
然而这与上面的匹配是这样的[match
如有任何帮助,我们将不胜感激
您的 ([\[\|\]])\w+
匹配 1 个符号 - [
、|
或 ]
(带 ([\[\|\]])
),然后匹配 1 个或多个单词(字母数字或下划线人物)。参见 how your regex actually performs。
使用以下替换:
.replace(/\[\[(.*?)]]/g, "")
/\[\[(.*?)]]/g
将找到所有非重叠出现的 [[
,后跟除换行符以外的 0+ 个字符(如果您还需要匹配换行符,请替换为 [^]*?
或 [\s\S]*?
), 然后是两个文字 ]
符号(注意,在 JS 模式中,您不需要将它们转义到字符 class 之外)。
.*?
匹配尽可能少的除换行符之外的任何字符,以使引擎 return 成为有效匹配,即匹配到第一次出现的 ]]
。如果匹配必须包括直到最后一次出现 ]]
的所有内容,那么 .*
就足够了。
请注意,如果 [[
/ ]]
中的子字符串很长,我宁愿将整个正则表达式模式展开为 /\[\[([^\]]*(?:](?!])[^\]]*)*)]]/g
。
试图匹配任何宽度和包括两个括号,例如[[match this]]
所以我可以不用括号替换。
这是我目前所掌握的 var regex = /([\[\|\]])\w+/g;
然而这与上面的匹配是这样的[match
如有任何帮助,我们将不胜感激
您的 ([\[\|\]])\w+
匹配 1 个符号 - [
、|
或 ]
(带 ([\[\|\]])
),然后匹配 1 个或多个单词(字母数字或下划线人物)。参见 how your regex actually performs。
使用以下替换:
.replace(/\[\[(.*?)]]/g, "")
/\[\[(.*?)]]/g
将找到所有非重叠出现的 [[
,后跟除换行符以外的 0+ 个字符(如果您还需要匹配换行符,请替换为 [^]*?
或 [\s\S]*?
), 然后是两个文字 ]
符号(注意,在 JS 模式中,您不需要将它们转义到字符 class 之外)。
.*?
匹配尽可能少的除换行符之外的任何字符,以使引擎 return 成为有效匹配,即匹配到第一次出现的 ]]
。如果匹配必须包括直到最后一次出现 ]]
的所有内容,那么 .*
就足够了。
请注意,如果 [[
/ ]]
中的子字符串很长,我宁愿将整个正则表达式模式展开为 /\[\[([^\]]*(?:](?!])[^\]]*)*)]]/g
。