java - How to remove text between brackets -


i want process articles retrieved wikipedia api, can display plain text. stuff want remove looks like:

 {{infobox scientist      | name        = albert einstein      | image       = einstein 1921 f schmutzer.jpg      | caption     = albert einstein in 1921      | birth_date  = {{birth date|df=yes|1879|3|14}}      | birth_place = [[ulm]], [[kingdom of württemberg]], [[german empire]]      | death_date  = {{death date , age|df=yes|1955|4|18|1879|3|14}}      | death_place = {{nowrap|[[princeton, new jersey]], united states}}      | children    = [[lieserl einstein|"lieserl"]] (1902–1903?)<br />[[hans albert einstein|hans albert]] (1904–1973)<br />[[eduard  einstein|eduard "tete"]] (1910–1965)      | spouse      = [[mileva marić]]&nbsp;(1903–1919)<br />{{nowrap|[[elsa löwenthal]]&nbsp;(1919–1936)}}      | residence   = germany, italy, switzerland, austria, belgium, united states      | citizenship = {{plainlist|      * [[kingdom of württemberg]] (1879–1896)      * [[statelessness|stateless]] (1896–1901)      * switzerland (1901–1955)      * [[austria–hungary]] (1911–1912)      * [[german empire]] (1914–1918)      * [[weimar republic]] (1919–1933)      * united states (1940–1955)      }} 

now want know how remove text between {{ , }}. have tried do:

wikitext = wikitext.replaceall("\\{\\{(.*?)\\}\\}", ""); 

but it's not working. guess "brackets in brackets" cause problems. there lot of discussions removing text between brackets on stackoverflow, didn't find solve problem

you can not match java regexes undetermined level of nested brackets. however, specific example have 1 depth level, , assuming closing brackets missing @ end, can use this:

\\{\\{(?>[^{}]++|\\{\\{[^}]++}})*}} 

if number of level undetermined, can:

1) write parser walks char char , increase stack when meet {{ , decrease when meet }}. when flag equal 0 brackets balanced.

2) perform replaceall until there no more replacement : \\{\\{[^{}]*}} (that matches innermost level)

3) use third party regex library supports recursion

4) find tool deal format (perhaps exists)


Comments

Popular posts from this blog

PHPMotion implementation - URL based videos (Hosted on separate location) -

javascript - Using Windows Media Player as video fallback for video tag -

c# - Unity IoC Lifetime per HttpRequest for UserStore -