2013-09-23 2 views
0

j'ai eu une erreur avec cette regex:Erreur avec cette expression rationnelle: var worksheet = (. *) \};

Matcher worksheetMatcher = Pattern.compile(output).matcher("var worksheet = (.*)\\};"); 

Tenir compte que la production est un long texte html qui est lu d'utiliser web jersey.

L'erreur est:

Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition near index 1150 

Je sais que cette erreur se produit normalement quand un personnage est pas échappé, mais ce qui est étrange dans ce cas est que l'erreur se produit encore si j'essaie de correspondre à quelque chose » *. ", c'est pourquoi je suis ici.

Donc, si quelqu'un a une idée de pourquoi je reçois cette erreur, s'il vous plaît poster ici, votre aide est très appréciée.

+0

Pouvez-vous inclure le reste de la source avant la '.matcher' appel? – joescii

+0

Vous avez la syntaxe à l'envers. @barnesjd a la bonne réponse. –

+0

Vous pouvez voir ici un exemple de création des objets Pattern et Matcher: http://docs.oracle.com/javase/tutorial/essential/regex/matcher.html – Meesh

Répondre

4

Remplacez la chaîne de modèle et output:

Matcher worksheetMatcher = Pattern.compile("var worksheet = (.*)\\};").matcher(output); 
Questions connexes