[Portugal] Dúvida sobre expressão regular (RegEx)

Jorge Gustavo Rocha jgr di.uminho.pt
Quinta-Feira, 31 de Maio de 2012 - 05:05:36 PDT


Olá Fernanda,

1) Não sei que raio de sintaxe usas, mas parece-me que, qualquer que 
seja a sintaxe, escrever "P{1}" ou escrever "P" é exatamente a mesma 
coisa, não é? Se só queres uma ocorrência, basta escrever o símbolo 
terminal, sem indicação do número de ocorrências.

2) Para além disso, o que queres, de facto, é qualquer ocorrência, desde 
que tenha um "P" lá pelo meio, né? Se dizes que queres apanhar os "P" 
sozinho, como espécie dominante ou dominada, isso significa um P em 
qualquer sítio. Se assim é, eu escreveria a ER como sendo formada por:

Neste caso, a expressão pode ser escrita da seguinte forma:

.?P.?

em que '.' significa um qualquer símbolo, e '?' significa opcional. Como 
estás à procura num domínio fechado de símbolos, não precisas de forçar 
que os símbolos sejam [BEFMRZQ]. Qualquer símbolo serve. Por isso, 
sugiro que uses o '.' ou algo que possa ser substituído por qualquer 
símbolo.

Tenta aplicar à tua sintaxe, sff.

Ajuda? Sei lá...

Um bom dia,

Jorge

Em 31-05-2012 11:47, Fernanda Nery escreveu:
> Bom dia a todos
>
> Tenho uma dúvida com a sintaxe duma expressão regular...
> O contexto é o de uma carta de ocupação do solo em que:
> 1) a presença de espécies florestais está codificada com uma letra
> maiúscula pertencente a um dado domínio (e.g. P para pinheiro-bravo, E
> para eucalipto, etc). Admita-se que o domínio é [BEFPMRZQ]
> 2) se houver mais de 1 espécie, a codificação usa duas letras diferentes
> (correspondentes às espécies mais frequentes).
>
> Se eu quiser encontrar todas as ocorrências de pinheiro-bravo (sozinho,
> como espécie dominante ou como espécie dominada) posso usar a seguinte
> expressão:
>
> (\bP{1}[BEFMRZQ]{0,1}\b)|(\b[BEFMRZQ]{1}P{1}\b)
>
> que funciona, mas é tão feia que obviamente só pode haver uma maneira
> mais elegante de fazer isto...
>
> No mínimo, usar sempre o mesmo domínio de valores válidos (em vez de
> andar a apagar o código da espécie que se está à procura em cada
> expressão...).
>
> Obrigada,
> nery
>
>
> P.S. A dúvida é mesmo sobre como fazer isto com uma expressão regular,
> não duma forma alternativa qq...
>
>
>
> _______________________________________________
> Portugal mailing list
> Portugal  lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/portugal


-- 
Jorge Gustavo Rocha
Departamento de Informática
Universidade do Minho
4710-057 Braga
Tel: +351 253604480
Fax: +351 253604471
Móvel: +351 910333888
skype: nabocudnosor


More information about the Portugal mailing list