# Suche regex-Pattern fuer Liste von Zahlen zwischen 0-100



## jago (16. Jul 2008)

Hi,

Ich suche ein regex-Pattern dass true fuer regex.matcher(input).matches();  zurueckgibt, wenn der input-String aus Zahlen zwischen 0 und einschliesslich 100 besteht und diese durch eines oder mehrere Leerzeichen getrennt sind.


```
Example Inputs:
String input = " 1 22 45 99 100 5";
String inputInvalid = " 1 101 45 99 100 5";
```

Kennt jemand das regex-Pattern dass diese Bedingung erfuellt?


----------



## Gelöschtes Mitglied 5909 (16. Jul 2008)

geht noch nicht ganz, aber kannst da noch n bischen rumprobiern dann kriegstes vielleicht hin


```
String pattern = "(\\s*(([0]?[0-9]?[0-9]{1}){1})\\s*)+";
```


----------



## Niki (16. Jul 2008)

Sollte funktionieren:

```
^([0-9]|[1-9][0-9]|100)$
```


----------



## Niki (16. Jul 2008)

Oh, sorry, meins prüft nur auf 0 bis 100, ohne Leerzeichen zu berücksichtigen

EDIT:
so müsste es korrekt sein:

```
^([1-9]|[1-9][0-9]|100)(\s([1-9]|[1-9][0-9]|100))*$
```


----------



## Guest (21. Jul 2008)

Niki hat gesagt.:
			
		

> Oh, sorry, meins prüft nur auf 0 bis 100, ohne Leerzeichen zu berücksichtigen
> 
> EDIT:
> so müsste es korrekt sein:
> ...



Danke, aber so funzt das net. Leerzeichen am Anfang und Ende muessen erlaubt sein, sowie doppelte Leerzeichen zwischen Zahlen. Der String: "  1 2 3   54 99  "

ist mit deinem Regex nicht valide. Sollte er aber.


----------



## SlaterB (21. Jul 2008)

keine Lust, RegEx zu lernen oder das gegebene selber auszubauen? schwach

"^\\s*(([1-9]|[1-9][0-9]|100)\\s+)*\\s*$"

edit:
"^\\s*(([1-9][0-9]?|100)\\s+)*\\s*$"

edit:
aber die längere Variante muss doch wieder sein wenns keine Leerzeichen am Ende
"^\\s*(([1-9][0-9]?|100)\\s+)*([1-9][0-9]?|100)\\s*$"


----------



## Guest (21. Jul 2008)

SlaterB hat gesagt.:
			
		

> keine Lust, RegEx zu lernen oder das gegebene selber auszubauen? schwach
> 
> "^\\s*(([1-9]|[1-9][0-9]|100)\\s+)*\\s*$"
> 
> ...




Danke. Ich habe schon Regex gelernt und auch ein fast lauffaehigen Regex hinbekommen - das Problem war, dass am Ende ein Leerzeichen alles wieder invalide machte.


----------

