Java 正则表达式,省略括号
需要帮助找出正则表达式,在这里我需要删除{{和}之间的所有数据吗 以下是coupus:Java 正则表达式,省略括号,java,regex,Java,Regex,需要帮助找出正则表达式,在这里我需要删除{{和}之间的所有数据吗 以下是coupus: {{for|the American actor|Russ Conway (actor)}} {{Use dmy dates|date=November 2012}} {{Infobox musical artist <!-- See Wikipedia:WikiProject_Musicians --> | birth_name = Trevor Herbert
{{for|the American actor|Russ Conway (actor)}}
{{Use dmy dates|date=November 2012}}
{{Infobox musical artist <!-- See Wikipedia:WikiProject_Musicians -->
| birth_name = Trevor Herbert Stanford
| birth_date = {{birth date|1925|09|2|df=y}}
| birth_place = [[Bristol]], [[England]], UK
| death_date = {{death date and age|2000|11|16|1925|09|02|df=y}}
| death_place = [[Eastbourne]], [[Sussex]], England, UK
| origin =
}}
record|hits]].<ref name="British Hit Singles & Albums"/>
{{reflist}}
==External links==
*[http://www.russconway.co.uk/ Russ Conway]
*{{YouTube|TnIpQhDn4Zg|Russ Conway playing Side Saddle}}
{{Authority control|VIAF=41343596}}
<!-- Metadata: see [[Wikipedia:Persondata]] -->
{{Persondata
| NAME =Conway, Russ
}}
{{DEFAULTSORT:Conway, Russ}}
[[Category:1925 births]]
以下是所有大括号连同其中的文本一起删除的输出:
record|hits]].<ref name="British Hit Singles & Albums"/>
==External links==
*[http://www.russconway.co.uk/ Russ Conway]
*
<!-- Metadata: see [[Wikipedia:Persondata]] -->
[[Category:1925 births]]
我省略了输出中的空格,我会处理的
string.replaceAll("\\{\\{[\\s\\S]*?\\}\\}","");
将产生:
record|hits]].<ref name="British Hit Singles & Albums"/>
==External links==
*[http://www.russconway.co.uk/ Russ Conway]
*
<!-- Metadata: see [[Wikipedia:Persondata]] -->
[[Category:1925 births]]
记录|点击次数]]。
==外部链接==
*[http://www.russconway.co.uk/ 罗斯康威]
*
[[类别:1925出生]]
这将处理嵌套的
{{}
Matcher m=Pattern.compile("\\{[^{}]*\\}").matcher(input);
while(m.find())
{
input=m.replaceAll("");
m.reset(input);
}
让我们看看你尝试过的东西,上面的表达式不会考虑嵌套的括号…例如在这一块:{{Infobox music artist!--参见维基百科:Wikipedia:WikiProject_music--| birth_name=Trevor Herbert Stanford | birth|date={{birth date 1925 | 09 | 2 | df y}}}birth| place=[[Bristol],[[England,UK | death|u date={{death date and age | 2000 | 11 | 16 | 1925 | 09 | 02 | df=y}}death|place=[[Eastbourne]],[[Sussex]],England,UK | origin=}它将在|出生|后丢失数据…您无法使用正则表达式解析嵌套表达式,因为它不是正则表达式。这类似于使用正则表达式解析HTML,本文对此进行了讨论:虽然它起作用,但我无法理解您是如何比较索引的?
[^{}]*
将0与许多不是{
,}
的字符相匹配。因此,如果您有嵌套的{}
,则只会删除非嵌套的{}}
…所以我们需要继续替换,直到我们没有{
,因为像这样的文本{{引用新闻}title=Уаааааааааааааааааааааааааааurl=km.ru/magazin/view.asp| work=|publisher=KMnews.RU | date=2008年8月13日| language=俄语| accessdate=2008年12月4日}将进入无限循环。它假设模式{{{}}与此不匹配@Anirudh@Kailashur输入没有},因此它将进入循环..如果}}不存在,您希望如何处理inputI?需要删除嵌套的{{}或者{}如果有..否则我需要继续前进@阿尼鲁德