Як вибрати рядки, що містять (лише / принаймні) 3 коми?


1

У мене є текстовий документ, який містить рядки з 2 комами та деякі рядки з 3 комами.

Я хочу вибрати всі рядки з 3 коми. Як я можу це зробити?

Ось приклад документа:

basb,asbdausd,asduasbd
sdauabs,asbudasud,busadasbu,asduasub
asdbua,asbudsdbu,ubasdub

Відповіді:


3

Я думаю, що це працює краще, ніж інша відповідь, оскільки одна відповідна лінія з 4 комами.

Звичайно, це працює з будь-яким символом, просто замініть коми ...

Якщо ви не хочете збігати менше ніж більше 3 коми на рядок, я використав цю схему:

^[^,\n]*((,[^,\n]*){3}$)

Пояснення кожної частини цього шаблону випливає (адже регулярні вирази для мене НЕ очевидні :-)):

^

На початку виразу reg, означає, з початку рядка

[^,\n]*

Відповідає будь-якій кількості символів, які не є рядком чи комою

(,[^,\n]*)

Це збігається з однією комою з наступним нулем або більше символів, які не є комою чи новим рядком

{3}$

Це означає знайти попередній зразок рівно три рази до кінця рядка

((,[^,\n]*){3}$)

Обов’язково поставте круглі дужки навколо цієї частини, щоб було зрозуміло, що повторюється три рази (не найперший нуль чи більше символів, які не є комою чи новим рядком)

Можливо, може бути і простіший спосіб - але я тестував, і я впевнений, що це працює чудово в поточній версії блокнота ++.


1

Використовуйте регулярний пошук у програмі Notepad ++ .

Наприклад, ось RegEx, який буде відповідати рядкам щонайменше з 3 коми:

.*,.*,.*,

Що в основному означає знайти "Будь-яка кількість символів, за якими ставиться кома, за якою - будь-якою кількістю символів і комою.

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.