Necesito una expresión regular que coincida con un patrón o que esté vacía.¿Qué expresión regular coincidirá con un patrón o estará vacía?
Ahora mismo tienen una expresión ...
"\(?\d{3}\)?[-\s.]?\d{3}[-\s.]\d{4}/x"
... que coincide con los Estados Unidos números de teléfono. Sin embargo, es válido para la cadena que estoy probando que está vacía. Si la cadena tiene algún valor, debe coincidir con la expresión.
Tengo otros patrones que coinciden con los códigos postales de EE. UU., Etc. que necesitan el mismo condicional.
¿Cuál es la mejor manera de lograr esto en la misma expresión?
Aclaración: Estoy usando el RegexValidator en el Bloque de aplicaciones de validación de Microsoft. Un ejemplo de uso de esto es el siguiente:
[StringLengthValidator(0, 100, MessageTemplate = "Email must be between {3} and {5}")]
[RegexValidator(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", MessageTemplate = "Valid Email Required.")]
public string EmailAddress
{
get { return _EmailAddress; }
set { SetValue<string>(ref _EmailAddress, value); }
}
Es por eso que necesito que la solución esté en una expresión.
¿Cuál es el/x al final de su expresión regular? En Perl o PHP significaría el modo de espacio libre, pero .NET no usa esa sintaxis. –
Ah ... no lo sé en realidad. Acabo de levantarlo de un sitio en algún lugar. Lo eliminaré y veré si eso ayuda. –