Size: a a a

Regular Expressions

2021 January 07

E

ETL in Regular Expressions
твоё выражение мэтчит часть из введённого целого, теперь понимаю вопрос про зачем )
ты меня не совсем правильно понял)
источник

a

allpeg in Regular Expressions
ETL
твоё выражение мэтчит часть из введённого целого, теперь понимаю вопрос про зачем )
ты меня не совсем правильно понял)
ну второе метчит и так тоже
источник

a

allpeg in Regular Expressions
а первое да
источник

a

allpeg in Regular Expressions
Просто задача "первые X символов" в общем случае (для абсолютно любого регэкспа) не решаема имхо, ну либо очень сложно
источник

a

allpeg in Regular Expressions
а если регэксп частный то по сути это "или" с обязательным заданием количества символов
источник

a

allpeg in Regular Expressions
т.е. есть два места где может быть 0 или 1 символов, и мы находим между ними все комбинации
источник

E

ETL in Regular Expressions
allpeg
а если регэксп частный то по сути это "или" с обязательным заданием количества символов
т.е. проще, получается, расписать свитч и под каждую длину выражения свою регулярку
источник

a

allpeg in Regular Expressions
ETL
т.е. проще, получается, расписать свитч и под каждую длину выражения свою регулярку
честно, я до конца не понимаю зачем это надо)
источник

a

allpeg in Regular Expressions
allpeg
тогда только так
^\d{3}(?:\d{3}\d{2}|[\s-]\d{3}\d{1}|\d{3}[\s-]\d{1}|[\s-]\d{3}[\s-])
👆 это не подходит?)
источник

a

allpeg in Regular Expressions
allpeg
ну второе метчит и так тоже
👆
источник

E

ETL in Regular Expressions
allpeg
честно, я до конца не понимаю зачем это надо)
ну типа на фронте, пользователь вводит данные в форму и чтобы если вдруг что-то пошло не так, то своевременно намекнуть ему на это)
источник

E

ETL in Regular Expressions
allpeg
👆 это не подходит?)
вроде бы нет)
источник

E

ETL in Regular Expressions
т.е. мысль какая - мы получаем количество введенных символов в форму (далее - n),

например пользователь ввёл 335 (т.е. n = 3), что потенциально соответствует введённым данным, мы не говорим, что ой, тут нет фулл-мэтча, поэтому мы тебе всё подсветим красным  

с другой стороны - мы не ждём, пока он введёт полностью все символы, если он введёт что-то не то, то на первом неправильно введённом символе - мы выведем тип, что чувак, ты ошибся
источник

a

allpeg in Regular Expressions
ETL
т.е. мысль какая - мы получаем количество введенных символов в форму (далее - n),

например пользователь ввёл 335 (т.е. n = 3), что потенциально соответствует введённым данным, мы не говорим, что ой, тут нет фулл-мэтча, поэтому мы тебе всё подсветим красным  

с другой стороны - мы не ждём, пока он введёт полностью все символы, если он введёт что-то не то, то на первом неправильно введённом символе - мы выведем тип, что чувак, ты ошибся
хмм, интересная задачка.  jquery inputmask просто не даёт набрать в таком случае ничего
источник

E

ETL in Regular Expressions
в пользу написания свитча говорит и то, что длина фулл-мэтча тоже разная, соответственно на 5 символах мы проверяем либо \d{5} | \d{3}[\s-]\d{1}
источник

a

allpeg in Regular Expressions
источник

a

allpeg in Regular Expressions
ETL
в пользу написания свитча говорит и то, что длина фулл-мэтча тоже разная, соответственно на 5 символах мы проверяем либо \d{5} | \d{3}[\s-]\d{1}
ну в любом случае регэксп такой просто будет не собрать.
источник

a

allpeg in Regular Expressions
ETL
в пользу написания свитча говорит и то, что длина фулл-мэтча тоже разная, соответственно на 5 символах мы проверяем либо \d{5} | \d{3}[\s-]\d{1}
я бы ещё добавил, что если по условию - только минусы/пробелы и цифры, на js просто написать реализацию которая будет сравнивать ....
стоп, есть идея
источник

a

allpeg in Regular Expressions
ETL
в пользу написания свитча говорит и то, что длина фулл-мэтча тоже разная, соответственно на 5 символах мы проверяем либо \d{5} | \d{3}[\s-]\d{1}
^(?:
   \d{0,3}
|
   \d{3}[\s-]{0,1}
   (?:
       \d{0,3}
   |
       \d{3}[\s-]{0,1}
       (?:
           \d{0,3}
       |
           \d{3}[\s-]{0,1}
           (?:
               \d{0,2}
           |
               \d{2}
           )
       )
   )
)
источник

a

allpeg in Regular Expressions
так, я где-то ошибся, не работает
источник