|
[RESOLUCIÓN]: Regex: Coincidencia nulo?
Estoy usando la dirección URL de Calamar Regex característica para permitir que los sitios a través de una lista de cadenas de regex partido permitió a los dominios. El regex fue copiado de nuestro último representante solución y parece que "sólo trabajo". Sin embargo, recientemente hemos descubierto que algunos sectores (probablemente debido a los hosts virtuales o encabezado de host de configuración en función de si se trata de Apache o IIS, respectivamente) si no se utilizan sin el prefijo www en la URL. A continuación se muestra un ejemplo de lo que a veces funciona:
Código:
http://.*\.microsoft\.com/.*
El '.* \. " antes de la 'microsoft \. com' porción decir, cualquier número de los caracteres (cero o más), seguida de una "." Veo que el error en términos de la '\'. parte de la regex y el plan para arreglar eso. Sin embargo, he sido incapaz de encontrar una forma para que coincida con los dos "www.microsoft.com" y "microsoft.com". Esto es lo que he pensado que el trabajo:
Código:
http://[!.*|.*\.]microsoft\.com/.*
Admito estar muy mal con la expresión regular, así que por favor no ser demasiado duro para mí por favor. Nunca he sido capaz de "entender" el 100%. Huelga decir que lo anterior no funciona para mí en absoluto. Que no coincida con "microsoft.com" ni "www.microsoft.com". He intentado algunos ensayos con 'grep' para tratar de encontrar una solución adecuada. Pero, ¿qué es lo que estoy tratando de partido? Al principio, pensé que quería un blanco, pero no estoy buscando "microsoft.com". Entonces pensé, un nulo? Pero eso parece ser imposible de igualar, ya que no es realmente una coincidencia en absoluto, ya que no existe carácter. Estoy seguro de que alguien que es un experto en regex se vería en esta locamente y proporcionar algo sencillo. La verdad es que no quiero hacer esto:
Código:
http://[.*\.microsoft\.com/.*|microsoft\.com/.*]
o peor aún, esto:
Código:
http://.*\.microsoft\.com/.*
http://microsoft\.com/.*
Alguna sugerencia? Gracias de antemano ...
Última edición por Deckard; 06-05-2008 en 11:57 AM.. Motivo: Recibido una solución al problema.
|