Size: a a a

Regular Expressions

2020 September 08

AC

Alex Chio in Regular Expressions
Здравствуйте. Возникла такая простая задача как добавить незначащие нули перед числами. Есть набор строк:
3
44
298
22
Из которых надо сделать:
003
044
298
022
Какие есть идеи?
источник

OM

Oleg Makarikhin in Regular Expressions
Alex Chio
Здравствуйте. Возникла такая простая задача как добавить незначащие нули перед числами. Есть набор строк:
3
44
298
22
Из которых надо сделать:
003
044
298
022
Какие есть идеи?
использовать соотв. функцию в языке программирования.
или сконкатенировать строки состоящие из необходимого кол-ва нулей и нужной цифры.  взять срез справа
источник

AC

Alex Chio in Regular Expressions
Хотелось бы решить её с помощью регулярки и для частного случая трёхзначных чисел и в общем. Может есть какое-то красивое решение
источник

AC

Alex Chio in Regular Expressions
Сложность в том, что вроде бы надо два условия проверить опережающей проверкой, что впереди не две цифры и не три и вставить 2 раза ноль. Но это не работает, поскольку условие одно и оно либо выполняется, либо нет. Соответственно вставляется только один ноль.
источник

AC

Alex Chio in Regular Expressions
Может эта задача и не решается?
источник

V

VY in Regular Expressions
это просто решается без регулярки
источник

AC

Alex Chio in Regular Expressions
похоже на то или у меня знаний регулярных выражений не хватает)
источник

OM

Oleg Makarikhin in Regular Expressions
без дальнейшего применения языка программирования - непонятно
допустим регулярка сматчит одно-двух-циферные числа
https://regex101.com/r/okJN6s/1
теперь надо однозначным приписать 00, двузначным - 0. трехзначные так пойдут.
но любой императивный яп с этим справится лучше, с помощью опредения длины строки.
какой-то декларативный например sql гораздо проще либо арфиметически, либо та-же процедура с склеиванием и обрезанием: RIGHT('000'+CAST(field AS VARCHAR(3)),3)
источник

З🧟

Зомби 🧟‍♂️... in Regular Expressions
Oleg Makarikhin
без дальнейшего применения языка программирования - непонятно
допустим регулярка сматчит одно-двух-циферные числа
https://regex101.com/r/okJN6s/1
теперь надо однозначным приписать 00, двузначным - 0. трехзначные так пойдут.
но любой императивный яп с этим справится лучше, с помощью опредения длины строки.
какой-то декларативный например sql гораздо проще либо арфиметически, либо та-же процедура с склеиванием и обрезанием: RIGHT('000'+CAST(field AS VARCHAR(3)),3)
хоть бы сократил, а то расписал ^(?<one>\d)$|^(?<two>\d{2})$|^(?<three>\d{3})$
источник

OM

Oleg Makarikhin in Regular Expressions
Зомби 🧟‍♂️
хоть бы сократил, а то расписал ^(?<one>\d)$|^(?<two>\d{2})$|^(?<three>\d{3})$
я пытался это сделать sed-ом.  а сед не понимает \d, зато понимает некомпактный [[:digits:]]
но несмог
источник

З🧟

Зомби 🧟‍♂️... in Regular Expressions
Oleg Makarikhin
я пытался это сделать sed-ом.  а сед не понимает \d, зато понимает некомпактный [[:digits:]]
но несмог
perl
источник

З🧟

Зомби 🧟‍♂️... in Regular Expressions
не вариант?
источник

OM

Oleg Makarikhin in Regular Expressions
тут специальная олимпиада, нужен язык не общего назначения с поддержкой регулярок.
источник

З🧟

Зомби 🧟‍♂️... in Regular Expressions
js))\
источник

З🧟

Зомби 🧟‍♂️... in Regular Expressions
Oleg Makarikhin
без дальнейшего применения языка программирования - непонятно
допустим регулярка сматчит одно-двух-циферные числа
https://regex101.com/r/okJN6s/1
теперь надо однозначным приписать 00, двузначным - 0. трехзначные так пойдут.
но любой императивный яп с этим справится лучше, с помощью опредения длины строки.
какой-то декларативный например sql гораздо проще либо арфиметически, либо та-же процедура с склеиванием и обрезанием: RIGHT('000'+CAST(field AS VARCHAR(3)),3)
bash пойдет?
источник

З🧟

Зомби 🧟‍♂️... in Regular Expressions
там есть функция  length
источник

OM

Oleg Makarikhin in Regular Expressions
баш великолепный язык.
источник

З🧟

Зомби 🧟‍♂️... in Regular Expressions
которая может определить длину строки
источник

З🧟

Зомби 🧟‍♂️... in Regular Expressions
или просто вреде ${#VAR}
источник

З🧟

Зомби 🧟‍♂️... in Regular Expressions
не помню
источник