Foros del Web » Programación para mayores de 30 ;) » .NET »

Expresiones regulares, duda

Estas en el tema de Expresiones regulares, duda en el foro de .NET en Foros del Web. Hola amantes de la programación. Verán, resulta que me interesa analizar un string entrante para que me reconozca palabras reservadas de un lenguaje y me ...
  #1 (permalink)  
Antiguo 24/11/2009, 08:00
 
Fecha de Ingreso: junio-2009
Mensajes: 7
Antigüedad: 14 años, 10 meses
Puntos: 0
Expresiones regulares, duda

Hola amantes de la programación.

Verán, resulta que me interesa analizar un string entrante para que me reconozca palabras reservadas de un lenguaje y me las cambie de color. Me gustaría, por ejemplo, que me resaltase el texto while.

Así, por ejemplo:

Código:
while (true)
Debería producir:

Código:
while (true)
Para ello, podría ser tan simple como utiliar una expresión regular de la forma "while", buscar una coincidencia y aplicarle color. Sin embargo, ello produce que cosas como:

Código:
whileeee (true)
Se coloren de la siguiente forma:

Código:
whileeee (true)
Whileee no es una palabra reservada y por tanto no debería colorearse. Se me ocurre por tanto ponerle un delimitador, de manera que la expresión sea 'while acabado en cualquier cosa que no sea una letra', de tal forma escribiriamos la expresión como "while[^a-z]". Sin embargo, ello produce cosas como:

Código:
whilee while[ (true)
Se coloren de la siguiente forma:

Código:
whilee while[ (true)
Es decir, me vuelve a seleccionar una palabra que no es reservada.

¿Se os ocurre como podría hacerlo?

Muchísimas gracias de antemano.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:36.