# [ANT] regexp [a-z] matched nicht wie gewünscht



## Rick Dangerous (11. Februar 2010)

Hallo,

Ich übergebe in ANT einen String ${name} und möchte ihn mit hilfe einer regexp überprüfen.
Es dürfen nur Klein-Buchstaben und Ziffern vorkommen, keine Sonderzeichen. Falls die regexp failed, soll eine Fehlermeldung ausgeworfen werden.

 		<condition property="naming.format.correct">
	 			<matches pattern="([a-z0-9])+" string="${name}"/>
 		</condition>
<fail unless="naming.format.correct" message="Error: wrong naming: ${name}"/>

Doch leider matched er auch Strings mit Sonderzeichen, z.B. "ab#"... 
Ich hab schon alles mögliche ausprobiert, aber ich weiß nicht warum... ich vermute, daß ANT mit [a-z] nicht  zurecht kommt... hat jemand eine Idee?


----------



## deepthroat (11. Februar 2010)

Hi.

Du überprüfst nur ob mind. 1 Kleinbuchstabe bzw. Ziffer enthalten ist.


```
^[a-z0-9]+$
```

Oder du könntest es natürlich auch umdrehen:
	
	
	



```
<condition property="naming.format.incorrect">
     <matches pattern="[^a-z0-9]" string="${name}"/>
</condition>
<fail if="naming.format.incorrect" message="..." />
```
Gruß

PS: Bitte verwende die Code-Tags!


----------



## vfl_freak (11. Februar 2010)

Hallo zusammen,

eine gute Übersicht zu den Java Pattern liefert diese Seite:
http://java.sun.com/javase/6/docs/api/java/util/regex/Pattern.html

Kleiner Tipp am Rande in diesem Zusammenhang!

Wir nutzen hier in der Firma zum Testen von regulären Ausdrücken das nette kleine 
Tool "RegEx coach"! Es kann zusammen mit seiner Doku hier runtergeladen werden:
http://weitz.de/regex-coach ("Windows installer" oder "Linux tar archive")

Es eignet sich auch gut zur Einarbeitung in dieses Thema!

Gruß
Klaus


----------



## Rick Dangerous (11. Februar 2010)

Super, vielen Dank! 

Das Tool habe ich mir auch runtergeladen, sehr nützlich, danke!


----------

