JavaScript - como puedo crear una expresión regular para validar citas bíblicas?

 
Vista:
sin imagen de perfil

como puedo crear una expresión regular para validar citas bíblicas?

Publicado por juan david (3 intervenciones) el 06/12/2021 17:31:08
Estoy intentando crear una expresión regular para validar citas biblicas como estas:

1 de tesalonicenses 4:20-40
mateo 8:34
marcos 6:2-40
mateo 7

Pero que me valide negativo citas como estas:
mateo 345:0
mateo
1 tesalonicenses 7:20
mateo 8:3-567

yo he creado esta expresión:
(?!\s)([1-3]{1} de )?([a-z]{3,15} [0-9]{1,2}:[0-9]{1,2})(-[0-9]{1,2}){0,1}

pero no marca falso este tipo de citas:
1 tesalonicenses 7:20
1 mateo 6:20-348
gracias de antemano por su ayuda.

Les comparto esta pagina donde pruebo las expresiones regulares https://regexr.com/
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

como puedo crear una expresión regular para validar citas bíblicas?

Publicado por juan david (3 intervenciones) el 06/12/2021 22:39:55
Respondo a mi propia pregunta ya que no he encontrado una respuesta acertada:

Mi solución un poco fea pero funcional para validar el formato de citas bíblicas:

/^[0-9] de [a-zA-Z]{3,14} [0-9]$|^[0-9] de [a-zA-Z]{3,14} [0-9]:[0-9]{1,2}$|^[0-9] de [a-zA-Z]{3,14} [0-9]:[0-9]{1,2}-[0-9]{1,2}$|^[a-zA-Z]{3,14} [0-9]$|^[a-zA-Z]{3,14} [0-9]:[0-9]{1,2}$|^[a-zA-Z]{3,14} [0-9]:[0-9]{1,2}-[0-9]{1,2}$/;

Si alguien puede y quiere simplificarla para que se vea elegante y profesional estaría muy bien. Sino pues ojala ayude a alguien mi solución.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

como puedo crear una expresión regular para validar citas bíblicas?

Publicado por juan david (3 intervenciones) el 06/12/2021 23:35:33
La actualizo le falto algo: /^[0-9] de [a-zA-Z]{3,14} [0-9]{1,2}$|^[0-9] de [a-zA-Z]{3,14} [0-9]{1,2}:[0-9]{1,2}$|^[0-9] de [a-zA-Z]{3,14} [0-9]{1,2}:[0-9]{1,2}-[0-9]{1,2}$|^[a-zA-Z]{3,14} [0-9]{1,2}$|^[a-zA-Z]{3,14} [0-9]{1,2}:[0-9]{1,2}$|^[a-zA-Z]{3,14} [0-9]{1,2}:[0-9]{1,2}-[0-9]{1,2}$/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar