La expresión es:¿Cómo puedo transformar esta expresión de Backus-Naur Form en Regex (.Net)?
N | (1 { A | B | C | D | E1 | E2 | E3 })
Significado el descriptor "N" o uno o más de los descriptores que figuran sin repetición.
El mejor que he conseguido es:
@"^(N|(A|B|C|D|E1|E2|E3){1,})$"
Pero eso no impide la repetición.
@"^(N|(A{0,1}B{0,1}...)$"
que evita la repetición, pero luego requiere un orden específico para los elementos, que no es muy bien tampoco.
¿Alguna idea?
(no estoy realmente seguro de que la propia expresión BnF no permite la repetición, pero eso es lo que necesito.)
http://kore-nordmann.de/blog/do_NOT_parse_using_regexp.html Usa expresiones regulares para reconocer palabras, no estructuras. –
Supongo que tiene sentido. Pero, ¿qué usaría para reconocer esta estructura? @DavidBrabant Se usará para validar la entrada del formulario mencionado. – Daniel
¿O es PCRE el método que está sugiriendo? – Daniel