Notepad ++ для подсчета количества вхождений строки в строку, которые будут использоваться для заполнения файла импорта sql - PullRequest
1 голос
/ 06 марта 2020

У меня есть файл с переменными столбцами, который я конвертирую в SQL файл импорта, или CSV, если вы будете.

Файл настроен следующим образом:

    Account     Source    Source2    Source3    Source4    Source5              
'39','39'
'41','41'
'67','67'
'286','286'
'299','299','2312210299'
'307','307'
'341','341'
'349','349'
'351','351'
'359','359'
'362','362'
'363','363'
'378','378'
'511','511','6218','2197360511'

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

Если я ищу '[0-9]\*', он находит каждый экземпляр.

Если я найду ['[0-9]\*']\*$, он найдет последний экземпляр в каждой строке.

Если я использую '[0-9]\*'{2}$, он не найдет ни одного с двумя вхождениями в строке, и из того, что я нахожу в сети, это должен быть синтаксис.

Любая помощь с этим будет высоко ценится.

1 Ответ

2 голосов
/ 06 марта 2020

Давайте разберемся, почему то, что вы пробовали, не сработало первым.

Если я ищу '[0-9]*', он находит каждый экземпляр

Да это именно то, что он должен делать; Я уверен, что вы уже поняли это.

Если я найду ['[0-9]*']*$, он найдет последний экземпляр в каждой строке

Я не уверен Куда вы идете с этим, квадратные скобки в квадратных скобках - ужасная идея.

Если я найду ['[0-9]*']*$, он найдет последний экземпляр в каждой строке. Если я использую '[0-9]*'{2}$, он не найдет ни одного с двумя вхождениями на строку, и из того, что я нахожу в сети, это должен быть синтаксис

Узнайте причину, по которой это не сработало потому что '[0-9]*'{2}$ будет совпадать с 2-мя мульти git числами (или вообще без цифр, потому что вы используете звездочку). Но числа в вашем наборе данных разделены , you HAVE , чтобы принять это во внимание. Regex - это явный инструмент.

Вместо этого вы должны сделать следующее: ^('[0-9]*',?){2}$

Обратите внимание на наличие необязательного , в группе захвата. Приведенное выше регулярное выражение будет сопоставлять строки с 2 числами в кавычках (или вообще без цифр, а только с '', поскольку мы используем звездочку), разделенные ,.

Вот демо 1038 *

Я не совсем уверен, было ли это то, что вы хотели, если нет, просто прокомментируйте это, и я отредактирую ответ, чтобы предоставить больше материала.

...