Analyser le Texte à l'aide du scanner useDelimiter

À la recherche pour analyser le fichier texte suivant:

Exemple de fichier texte:

<2008-10-07>text entered by user<Ted Parlor><2008-11-26>additional text entered by user<Ted Parlor>

Je voudrais analyser le texte ci-dessus afin que je puisse avoir trois variables:

v1 = 2008-10-07
v2 = text entered by user
v3 = Ted Parlor
v1 = 2008-11-26
v2 = additional text entered by user
v3 = Ted Parlor

J'ai tenté d'utiliser le scanner et useDelimiter, cependant, je vais avoir des problème sur la façon de le configurer pour avoir les résultats comme indiqué ci-dessus. Voici ma première tentative:

import java.io.*;
import java.util.Scanner;

public class ScanNotes {
    public static void main(String[] args) throws IOException {
        Scanner s = null;
        try {
            //String regex = "(?<=\\<)([^\\>>*)(?=\\>)";
            s = new Scanner(new BufferedReader(new FileReader("cur_notes.txt")));
            s.useDelimiter("[<]+");

            while (s.hasNext()) {
                String v1 = s.next();
                String v2= s.next();
                System.out.println("v1= " + v1 + " v2=" + v2);
            }
        } finally {
            if (s != null) {
                s.close();
            }
        }
    }
}

Le résultat est comme suit:

v1= 2008-10-07>text entered by user v2=Ted Parlor> 

Ce que je désire est:

v1= 2008-10-07 v2=text entered by user v3=Ted Parlor
v1= 2008-11-26 v2=additional text entered by user v3=Ted Parlor

Toute aide qui me permettrait d'extraire tous les trois chaînes séparément serait grandement apprécié.

OriginalL'auteur Brian | 2010-05-29