Как мне изменить эту строку в Regex - PullRequest
0 голосов
/ 26 февраля 2020

Я хочу использовать данные в csv-файле, который выглядит примерно так:

Weisse Strasse 1004317 Timothenau
Merzenstrasse 13 90114317 Meerseburg

в

Weisse Strasse 10 04317 Timothenau
Merzenstrasse 13 901 14317 Meerseburg

, что означает, что мне нужно проверить 1 слово, которое состоит из по крайней мере 6 символов / цифр до 9 символов / цифр и преобразовать его в 2 слова, где второе слово должно иметь 5 цифр, а в первом слове будут все остальные.

Я пытался построить регулярное выражение- найти-команду с этим

(\d{7,}) 

, но даже это не выводит ничего, что мне нужно правильно, и полностью не удалось собрать команду замены.

Может кто-нибудь помочь мне?

1 Ответ

1 голос
/ 26 февраля 2020

Вы можете использовать

(?<!\d)(\d{1,4})(\d{5})(?!\d)

и заменить его остроумием $1 $2.

. См. Демонстрационную версию regex

. убедитесь, что совпадают только цифры от 6 до 9 цифр git.

Детали шаблона

  • (?<!\d) - без ди git немедленно разрешено слева от текущего местоположения
  • (\d{1,4}) - группа 1 ($1): от одной до четырех цифр
  • (\d{5}) - группа 2 ($2): пять цифр
  • (?!\d) - без прав git разрешено сразу справа от текущего местоположения (поэтому пять цифр группы 2 являются последними в числе).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...