2010-10-06 8 views
-3

Possible en double:
Regex help requiredaide Regex nécessaire - V2 formaté

Je suis en train de remplacer deux occurences ou plus de < br/> (comme < br/> < br/> < br/>) étiquettes avec deux < br/> < br/> avec le motif suivant

Pattern brTagPattern = Pattern.compile("(<\\s*br\\s*/\\s*>\\s*){2,}", 
    Pattern.CASE_INSENSITIVE | Pattern.DOTALL); 

Mais il y a des cas où des balises « < br/> < br/> » viennent avec un espace et ils sont remplacés par 4 < br/> balises qui était en fait censé être remplacé par seulement 2 étiquettes.

Que puis-je faire pour ignorer 2 ou 3 (peu) espaces entre les balises?

+5

double exact [Regex aide nécessaire] (http://stackoverflow.com/questions/3872652/regex-help-required) –

+0

Vous avez un "edit" lien juste sous les balises de questions que vous pouvez utiliser pour modifier votre question initiale. Pas besoin d'en ouvrir un nouveau. Comme vous l'avez vu, ils seront bientôt fermés et vous rapporteront des downvotes. Mais vous * devriez * certainement répondre aux commentaires sur votre question précédente, également en éditant votre question. –

+0

@Tim Pietzcker: Merci tim, je suis un peu nouveau à cela et était pressé :) –

Répondre

-1

Vous pouvez le faire changer un peu votre regex:

Pattern brTagPattern = Pattern.compile("<\\s*br\\s*/\\s*>\\s*<\\s*br\\s*/\\s*>\\s*", Pattern.CASE_INSENSITIVE | Pattern.DOTALL); 

Cela ignorera tous les espaces entre deux
. Si vous voulez exactement deux ou trois, vous pouvez utiliser:

Pattern brTagPattern = Pattern.compile("<\\s*br\\s*/\\s*>(\\s){2,3}<\\s*br\\s*/\\s*>\\s*", Pattern.CASE_INSENSITIVE | Pattern.DOTALL); 
+2

Aucune de ces lignes ne compilera en Java –

+2

J'ai utilisé la même syntaxe que l'utilisateur utilisé dans la question, je ne sais pas la langue qu'il utilise. Je viens d'ajouter la chose dont il avait besoin au milieu, en utilisant sa syntaxe (il n'a pas dit que c'était Java). En Java vous devriez double-échapper les caractères (mais vous devez changer la question dans ce cas) – greuze

+0

Vous utilisez la bonne syntaxe depuis la modification, la question a toujours été marquée comme Java, et l'expression régulière dans la question est bien, et fonctionne comme prévu. Modification de l'expression régulière n'était pas nécessaire http://stackoverflow.com/questions/3872652/regex-help-required –