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
[email protected]
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
_______________________________________________
Portugal mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/portugal