tengo cadenas como éstas:patrón de expresión de Java con cadena opcional
something something [[abcd]] blah blah
something something [[xyz|abcd]] blah blah
Lo que quiero en ambos casos es:
something something abcd blah blah
¿Cómo hacer esto utilizando sólo el 1 patrón de expresión en Java? Puedo hacer el primer caso con esto:
Pattern pattern = Pattern.compile("\\[\\[(.+?)\\]\\]");
Matcher m = patternLinkRemoval.matcher(text);
return m.replaceAll("$1");
Parece que está tratando de analizar MediaWiki-Syntax - tal vez un analizador de http://www.mediawiki.org/wiki/Alternative_parsers sea una mejor alternativa ya que MediaWiki tiene bastantes casos extraños. –
Parece una fuente útil. ¡Gracias! – pckben
Sweble se ve bastante bien: http://sweble.org/crystalball/?wicket:interface=:11:query-form::IFormSubmitListener::&stage=POSTPRO&expMode=NOT_APPLICABLE&format=TEXT&query:wikitext=something+something+%5B%5Babcd% 5D% 5D + blah + blah% 0Asomething + something +% 5B% 5Bxyz% 7Cabcd% 5D% 5D + blah + blah –