2010-11-03 5 views
0

Je voudrais faire un analyseur de syntaxe wiki en Java. J'ai une en PHP qui va un petit quelque chose comme ceci:Analyseur syntaxique Wiki en Java

private static function runAllConversions($pString) { 
    $tConverted = $pString; 
    $tConverted = stripTags($tConverted); 

    // Bold and italic text. 
    $tConverted = preg_replace('/\'\'\'\'\'([^\n\']+)\'\'\'\'\'/', 
     '<strong><i>${1}</i></strong>', $tConverted); 

En remplacement, je pensais à replaceAll au lieu du preg_replace en PHP. Je suppose que ce serait quelque chose comme:

// Bold text in Java. 
converted = converted.replaceAll('/\'\'\'([^\n\']+)\'\'\'/', 
    '<strong>${1}</strong>', converted); 

Quelqu'un at-il de bonnes suggestions pour cela? Merci!

+1

Pourquoi faites-vous tant de backslash s'échapper quand vous pourriez simplement utiliser des guillemets différents à la place? '"/'' '' '([^ \\ n'] +) '' '' '/ "' – Amber

+0

hmm. bon point. Ne savais pas ça. – Tim

Répondre

2
converted = converted.replaceAll("'{5}([^\n']+)'{5}", "<strong><i>$1</i></strong>"); 
  • J'utilisé '{5} au lieu de ''''' mais ils sont les mêmes.
  • Les deux délimiteurs / en PHP sont spécifiques à PHP. Ils ne devraient pas apparaître dans l'expression rationnelle de Java.

BTW, vous pouvez utiliser un existing MediaWiki parser à la place.

+0

+1, bonne solution. – aioobe

+0

Merci pour cette réponse. Bien que je ne veuille pas en utiliser une existante. Peut-être devrais-je aussi mentionner que je voudrais convertir la syntaxe wiki en html. – Tim

+0

@Tim: Ceux qui existent déjà peuvent générer du HTML. – kennytm