2012-06-01 3 views
4

Quelle est la signification de below pattern dans le concept Java Patterns? Je comprends qu'il peut accéder à 6 à 7 charecter alphanumérique. Mais quel est le sens de $ dans le format ci-dessus.Java Patterns ne comprenant pas

+1

http://www.regular-expressions.info/anchors.html –

+0

Merci. J'ai besoin de ce format "3AB 45D". C'est le premier 3 Alnum chars et l'espace et 3 Alnum chars. Comment je peux réaliser ceci? – Srinivasan

Répondre

1

Ci-dessous est le format que vous avez demandé (j'ai besoin ce format "3AB 45D". C'est d'abord 3 caractères alnum et l'espace et 3 caractères alnum.),

^[\\p{Alnum}]{3}\\p{Space}[\\p{Alnum}]{3}$ 
+0

Merci. Ça fonctionne. – Srinivasan

2

$ signifie la fin d'une ligne et ^ signifie le début d'une ligne. Le pattern, vous avez mentionné, est appelé expression régulière

1

$ signifie fin de chaîne.

Si vous ne l'avez pas dans votre modèle, alors il sera également correspondre une chaîne alphanumérique de 6 à 7 caractères .... suivi par antyhing

J'espère que vous obtenez que ^ est au début de la chaîne :)

0

Votre modèle

^[\p{Alnum}]{6,7}$ 

Explication

"^" +    // Assert position at the beginning of the string 
"[\\p{Alnum}]" + // Match a single character present in the list below 
         // A character in the POSIX character class “Alnum” 
    "{6,7}" +   // Between 6 and 7 times, as many times as possible, giving back as needed (greedy) 
"$"    // Assert position at the end of the string (or before the line break at the end of the string, if any) 

MISE À JOUR:

try { 
    String resultString = subjectString.replaceAll("(?i)\\b(\\p{Alnum}{3})(\\p{Alnum}{3})\\b", "$1 $2"); 
} catch (PatternSyntaxException ex) { 
    // Syntax error in the regular expression 
} catch (IllegalArgumentException ex) { 
    // Syntax error in the replacement text (unescaped $ signs?) 
} catch (IndexOutOfBoundsException ex) { 
    // Non-existent backreference used the replacement text 
} 
+0

J'ai besoin de ce format "3AB 45D". C'est le premier 3 Alnum chars et l'espace et 3 Alnum chars. Comment je peux réaliser ceci? – Srinivasan

+0

@Srinivasan: Voir ma mise à jour. – Cylian