
Estou tentando escrever uma expressão regular para cobrir todos os números começando com 1809 e excluindo alguns intervalos:
Intervalos precisavam ser excluídos
Começando com 1809 e seguido por:
- 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
Responder1
Escrevi manualmente o regex que corresponde a todos os padrões que você deseja 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])/
Não tenho certeza de como você geraria automaticamente essa expressão regular, dadas as informações acima.