使用Javascript删除括号和括号之间的文本

使用Javascript删除括号和括号之间的文本,javascript,regex,parsing,replace,Javascript,Regex,Parsing,Replace,我有一个长字符串,有许多不同的方括号/大括号/圆括号{{…}、{…}、[…]、[[…]],其中一些在其他括号内 我想使用JS删除这些括号以及括号内的任何文本/etc,除了不在其他括号内的[…],在这种情况下,我只希望删除括号 下面是我正在使用的字符串类型的示例: {pp move indef}{Taxobox | name=红熊猫| status=VU | status | system=iucn3.1 | status | ref=| image=RedPandaFullBody.JPG |

我有一个长字符串,有许多不同的方括号/大括号/圆括号{{…}、{…}、[…]、[[…]],其中一些在其他括号内

我想使用JS删除这些括号以及括号内的任何文本/etc,除了不在其他括号内的[…],在这种情况下,我只希望删除括号

下面是我正在使用的字符串类型的示例:

{pp move indef}{Taxobox | name=红熊猫| status=VU | status | system=iucn3.1 | status | ref=| image=RedPandaFullBody.JPG | regnum=[[动物]门=[[脊索动物]脊索动物].[classis=[哺乳动物].[食肉动物]ordo=[食肉动物].[食肉动物]亚目].[subordo=[动物]亚目]亚目动物]亚目动物]亚目动物]亚目动物[[Ailuridae]|属=Ailurus |属|权威=[[Frederic Cuvier | F.Cuvier]],1825 |种=黑腹鸢尾|二项式=黑腹鸢尾|二项式|权威=[[Frederic Cuvier | F.Cuvier]],1825 | range|u map=Cypron range Ailurus fulgens.svg | range|u map|u caption=Red panda range | subsection|u ranks=亚种| subsection=A.f.fulgensA.f.styani}

小熊猫大熊猫Ailurus fulgens是一种小型的[[树栖][[哺乳动物]]原产于东部[[喜马拉雅山脉]]和西南[[中国]{IUCN | assessors=Wang,X.,Choudhry,a.,Yonzon,p.,Wozencraft,C.,而不是Z.| year=2008 | id=714 |分类单元=Ailurus fulgens | version=2010.4 |下载=2010年6月26日},与[浣熊][skunk]有关黄鼠狼和黄鼠狼。它是目前仅存的大熊猫属和大熊猫科物种。它比家猫稍大,皮毛红棕色,尾巴长而粗,前腿短,步履蹒跚。它主要以竹笋为食,但它是杂食性的,也可以吃鸡蛋、鸟、昆虫s、 它是一种[[独居动物]],主要是[[夜间活动|从黄昏到黎明活跃]],白天主要是[[久坐的生活方式|久坐的]]

期望结果

小熊猫大熊猫大熊猫是一种小型树栖哺乳动物,原产于喜马拉雅山脉东部和中国西南部,与浣熊、臭鼬和鼬鼠有亲缘关系。它是大熊猫属和大熊猫科现存的唯一物种。比家猫稍大,皮毛红棕色,尾巴长而粗,尾巴卷曲由于它的前腿较短,所以步态缓慢。它主要以竹笋为食,但杂食,也可以吃鸡蛋、鸟类、昆虫和小型哺乳动物。它是一种独居动物,主要是夜间活动,从黄昏到黎明都很活跃,主要是久坐的生活方式,白天不动


注:这是基于@Joseph Lennox的上述建议

function removeBrackets(input) {
    return input
        .replace(/{+.*?}+/g, "")
        .replace(/\[\[|\]\]/g, "")
        .replace(/<.*?>/g, "");
}

…让我们吸收{{和}}等。

注意:这是基于@Joseph Lennox上面的建议

function removeBrackets(input) {
    return input
        .replace(/{+.*?}+/g, "")
        .replace(/\[\[|\]\]/g, "")
        .replace(/<.*?>/g, "");
}

…让我们来吸收{{和}等。

请发布您迄今为止尝试过的方法。什么不起作用,您到底被卡在哪里了?尝试了string.replacesome regex,但不知道如何获得所需的结果。是否可以使用.replace完成此操作?啊,这样嵌套的括号将始终是连续的?即,它将始终是{…}但是从来没有{…{…}…}?我相信这是正确的。请发布你迄今为止尝试过的方法。什么不起作用,你到底被卡在哪里了?尝试了string.replacesome正则表达式,但不知道如何得到所需的结果。这可以用.replace完成吗?啊,这样嵌套的方括号将始终是连续的?也就是说,它将始终是{…}但是从来没有{…{…}?我相信这是正确的。这将为{…}或任何其他嵌套的括号集生成中断的结果。这将为{…}或任何其他嵌套的括号集生成中断的结果。如果一些在其他括号内,也可能意味着输入可以是{…{…}。但OP必须澄清这一点。遗憾的是,JS的regex缺乏递归支持,因此无法通过regex实现。提问者的问题不是很清楚/现在仍然不清楚,因此我怀疑是否有人在跳这条船。我添加了一个示例,我希望它能澄清问题。我已更新了响应,以匹配您的示例。它似乎能为您提供所需的结果有些在另一些内部,也可能意味着输入可以是{…{…}…}。但OP必须澄清这一点。遗憾的是,JS的regex缺乏递归支持,因此无法通过regex实现。提问者的问题不是很清楚/现在仍然不清楚,因此我怀疑是否有人在跳这条船。我添加了一个示例,我希望它能澄清问题。我已更新了响应,以匹配您的示例。它似乎能为您提供所需的结果我