View Full Version : expressão regular com espaços


alfinete
21-12-2007, 10:35
tenho esta expressaõ regular que so aceita catacteres e espaços

[^a-zA-Z\\s]
mas eu quero que ela aceite varias strings de caracteres caracteres alfa separadas entre si no maximo com um espaço.

agradecia um help


ex:


eu sou alf - expressão valida
eu sou alf- expressão inválida

arkannis
21-12-2007, 19:30
nao consegui perceber muito bem a tua duvida...
Mas parece-me que isto te posso ajudar a resolver:

Greedy quantifiers
X? X, once or not at all
X* X, zero or more times
X+ X, one or more times
X{n} X, exactly n times
X{n,} X, at least n times
X{n,m} X, at least n but not more than m times

retirado de:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html

jotenko
21-12-2007, 20:08
[^a-zA-Z\\s] <- é impressão minha ou isto NÃO aceita caracteres nem espaços? (tem o ^ no início, neste caso não significa início de linha mas o contrário de)

alfinete
21-12-2007, 21:25
aceita caracteres e espaços sim

a minha duvida para quem não percebeu é:

quero uma expressão regular que so aceite caracteres tipo letras, e que entre os caracteres so possa por apenas um espaço

ex:



expressão valida : eu sou eu : só contem um espaço entre cada conjunto de caracteres

expressão invalida : eu sou eu : ente "eu" e "sou" contem dois espaços

AliFromCairo
22-12-2007, 01:25
A primeira que me ocorre é a seguinte:


[A-Za-z]+(\s[A-Za-z]+)*


Espero que ajude.