
Estoy intentando escribir una expresión regular para cubrir todos los números que comienzan con 1809 y excluyen algunos rangos:
Es necesario excluir los rangos
A partir de 1809 y seguido de:
- 201,203,205,212,214,222,228,232,235,249,256,260,2643983
- 266,2724728,2725724,299,315,330,350-354,356-361,3670229
- 370.383.386.389.391.394-399.401-411.413.424-429.451-469
- 477-481.484.485.488.490-499.501.502.504-507.509.510.512
- 514.516.517.519.520.543.545.606.615.618.661-668.670-675
- 694.696-698.7079832.710.720-722.727.729.744.747.749-753
- 756-765,767,769,773,774,778,7837079,7839522,792-799,809
- 823-826.828.830-832.834-844.895-898.950.953
Respuesta1
Escribí manualmente la expresión regular que coincide con todos los patrones que desea excluir:
/1809(20[135]|21[24]|22[28]|23[25]|249|256|26[06]|2643983|2724728|2725724|299|315|330|35[0-46-9]|36[01]|3670229|370|38[369]|39[14-9]|40[1-9]|41[013]|42[4-9]|45[1-9]|46[0-9]|47[7-9]|48[01458]|49[0-9]|50[124-79]|51[024679]|520|54[35]|606|61[58]|66[1-8]|67[0-5]|69[46-8]|7079832|710|72[0-279]|74[479]|75[0-36-9]|76[0-579]|77[348]|7837079|7839522|79[2-9]|809|82[3-68]|83[0-24-9]|84[0-4]|89[5-8]|95[03])/
Sin embargo, no estoy seguro de cómo generaría automáticamente esta expresión regular dada la información anterior.