2013-03-05 3 views
0

Je suis tout à fait nouveau à des expressions régulières en Java,Comment faire correspondre début de la ligne java

Je lis une ligne de fichiers en ligne et en essayant d'utiliser string.matches pour 3 caractères et 10 chiffres au début de la ligne .

En textpad je peux faire quelque chose comme:

^[A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] 

Comment puis-je convertir cela en java regex?

+1

Vous pouvez commencer ici http://www.vogella.com/articles/JavaRegularExpressions/article.html – vikingsteve

Répondre

5

Vous devez utiliser quantificateurs. Ainsi,

x{n} signifie correspondance n nombre de x exactement

x{n,} matchs x n à beaucoup fois

x{n,m} matchs x n à m fois ..

Ainsi, votre regex serait

^[a-zA-Z]{3}\\d{10} 
1

il est même, mais optimisé:

"^[A-Z]{3}[0-9]{10}" 

ou égal à un

"^[A-Z]{3}\\d{10}" 
-1

Vous pouvez utiliser la méthode string.startsWith(). Alors le premier '^' n'est pas nécessaire.

+0

'' startsWith() '' ne fonctionne pas avec les expressions régulières et est donc inutile dans ce cas. – f1sh

Questions connexes