2010-04-22 8 views
-2

Je veux savoir comment obtenir la chaîne d'un groupe de cordesObtenez chaîne particulière en utilisant regex java

String j = "<a ............> hai</a>"; 

Je veux obtenir la chaîne pour la balise

<a ...> ... </a> 
+3

N'utilisez pas regex pour analyser HTML. Il y a des dizaines de messages à ce sujet, il suffit de chercher et de savoir pourquoi. – MAK

+0

Pourquoi avez-vous supprimé la vieille question et l'avez-vous remplacée par une question différente? Toutes les réponses ci-dessous sont totalement hors de propos à cause de vous. -1 pour nous faire ressembler à un idiot (même si je suis probablement un idiot). –

Répondre

2

I'D utilisez un XML parser pour cela et extrayez les attributs en question.

1

Je suis d'accord avec Bozho. Si vous avez besoin de le faire sur une base régulière, un analyseur XML ou HTML serait beaucoup moins sujette aux erreurs.

Pour une approche rapide et sale, vous pouvez utiliser le Regex

(href|src)="[^"]*" 

Assurez-vous d'échapper à toutes ces citations lorsque vous essayez cela.

0

Je déteste regex, je l'aurais fait de cette façon ..

str = str.substring(str.indexOf("href=")); 
str = str.substring(0, str.indexOf("\"", 5); //'href=' is 5 chars 
//str = str.substring(0, str.indexOf(" "); //this is more readable I think 

Faites la même chose pour src=

Remarque, vous obtiendrez href= dans le cadre de la chaîne ainsi, comment éviter c'est laissé comme exercice. lol. (INDICE: changez 0 dans la deuxième ligne en ...)

+0

Dans ce cas, 'str' contiendra juste' href = ', probablement pas ce qu'il veut. –

+0

Vous avez raison, merde! .. Je l'ai réparé .. (je pense), n'a pas réellement testé. –

Questions connexes