Preg_match PHP java traduction
Je vais avoir quelques problèmes de conversion de un php pregmatch à java. Je pensais que je l'avais tout à fait correct, mais il ne semble pas fonctionner. Voici le code:
Original de PHP:
/* Pattern for 44 Character UUID */
$pattern = "([0-9A-F\-]{44})";
if (preg_match($pattern,$content)){
/*DO ACTION*/
}
Mon code Java:
final String pattern = "([0-9A-F\\-]{44})";
public static boolean pregMatch(String pattern, String content) {
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(content);
boolean b = m.matches();
return b;
}
if (pregMatch(pattern, line)) {
//DO ACTION
}
Donc mon test d'entrée est:
DBA40365-7346-4DB4-A2CF-52ECA8C64091-0
À l'aide d'une série de Système.sorties-je obtenir que b = false.
OriginalL'auteur Evilsithgirl | 2012-10-22
Vous devez vous connecter pour publier un commentaire.
Pour implémenter une fonction comme vous l'avez fait dans votre code:
Et puis vous pouvez l'appeler comme:
Vous n'avez pas besoin de la parenthèse dans votre
pattern
parce que cela crée un match de groupe, vous ne l'utilisez pas. Si vous avez besoin d'accès à l'arrière de références, vous avez besoin de la parenthèse d'une plus avancés, les regex code à l'aide dePattern
etMatcher
classes.Ces chaînes sont de 38 caractères, et votre regex est d'essayer de faire correspondre 44 caractères avec
{44}
. Utiliser les regex pattner[0-9A-F\\-]{38}
et il va correspondre à chacune de ces valeurs. Si vous voulez faire correspondre les chaînes de 38 à 44 caractères, utilisez[0-9A-F\\-]{38,44}
OriginalL'auteur doublesharp
Vous pouvez simplement utiliser
String.matches()
OriginalL'auteur xdazz