Dúvida com expressão regular

3 respostas
J

Pessoal, tem algum jeito de eu adicionar caracteres com acento e o “ç” naquela classe de caracteres pré definidos de uma expressão regular?

Eu gostaria de pegar as 4 primeiras palavras que aparecem em um String, estou usando a expressão

“(\w+) (\w+) (\w+) (\w+)”

Funciona tranquilo… mas se alguma das palavras tem acento ou cedilha, já não funciona mais… existe alguma maneira simples para q o “\w” englobe letras com acentuação e o cedilha?

[]'s

3 Respostas

T

http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Character.UnicodeBlock.html#forName(java.lang.String)

Então:
Em vez de usar “\w” use “(\p{L}|\p{Nd})” ou “[\p{L}\p{Nd}]”

J

vlw :smiley: funcionou certinho :smiley:

J

esse link aqui me ajudou bastante com expressão regular, só pra deixar registrado caso alguém mais precise :smiley:

http://guia-er.sourceforge.net/

[]'s

Criado 5 de junho de 2007
Ultima resposta 8 de jun. de 2007
Respostas 3
Participantes 2