Комментарии 6

Если у вас есть проблема, и вы пытаетесь решить её с помощью регулярных выражений, то у вас две проблемы (ц) скрыто в глубине веков.
Мощная вещь, согласен. Но при правильном применении.

Среди других программ, в которых применяются регулярные выражения, можно отметить awk, sed, perl, разные редакторы, вроде Vim и emacs.

Тут бы еще неплохо добавить, что есть такая вещь как regex flavor и у того же Vim синтаксис регулярок в некоторых моментах отличается. Это одна из основных причин по которой я от него в итоге отказался, как от основного редактора — надоело каждый раз вспоминать эти уникальные правила экранирования.

id=([0-9])+ только плюсик в скобки надо поместить, нет? если речь про ссылку на *число*
А можно здесь задать вопрос? На днях искал способ заменить в VS Code вторую и третью точку в строке запятыми, больше ничего не меняя. То есть, из строки вида
12.34, 5.67. 89, 12.34, 56.789,…
надо сделать
12.34, 5,67, 89, 12.34, 56.789,…
(пробелы и знаки +- возможны в любых местах, количество цифр в числе произвольное). Довольно быстро сообразил, что надо копать регулярные выражения (раньше ими не пользовался), и даже их немного освоил. Но с исходным вопросом так и не разобрался… понял, что быстрее сделать программу. Теперь мучаюсь угрызением совести за изобретение очередного велосипеда :-((

Примерно так: ([^\.]+\.[^\.]+)\.([^\.]+)\.(.*) заменяем на $1,$2,$3


Например входной файл:


$ cat /tmp/test
12.34, 5.67. 89, 12.34, 56.789
121.11,  888.22. -19.34,   +40.789
-1.10,  +8.1. -500.43,   1000.789, 10.1, 50.33, -90.111, 81.300
any symbols bla bla 10.1, 9.900. 300.1

image
После замены:
image


Или же через sed:


$ cat /tmp/test | sed 's/\([^\.]\+\.[^\.]\+\)\.\([^\.]\+\)\.\(.*\)/\1,\2,\3/g'
12.34, 5,67, 89, 12.34, 56.789
121.11,  888,22, -19.34,   +40.789
-1.10,  +8,1, -500.43,   1000.789, 10.1, 50.33, -90.111, 81.300
any symbols bla bla 10.1, 9,900, 300.1
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Информация

Дата основания
Местоположение
Россия
Сайт
ruvds.com
Численность
11–30 человек
Дата регистрации

Блог на Хабре