Регулярное выражение, соответствующее только первому вхождению строки в notepad

#r #regex

Вопрос:

При анализе журналов вам часто нужно найти все строки, содержащие какое-либо конкретное слово в файле журнала. Проблема в том, что при обычном поиске в notepad он возвращает одну и ту же строку несколько раз, если она содержит это слово в разных позициях. Чтобы облегчить это, я переключаюсь на поиск регулярных выражений и использую следующее выражение

 (.*K)(text)
 

Где .* соответствует полной строке, K отбрасывает выделение, а затем (текст) соответствует последнему вхождению текста в строке.
Этот метод выглядит некрасиво и не очень быстр. Есть ли лучший способ сделать это?

Ответ №1:

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

Следующее регулярное выражение делает то же самое.

Регулярное выражение: (^.*?)Ktrue true это мой текст здесь.

Фиктивный Ввод

 Log date 12/12/2015
Sr No      desc    amount     status
1          true    $10000     true
2          true    $10000     false
3          true    $10000     true
4          true    $10000     false
5          true    $10000     true
 

Демонстрация Regex101

Демонстрационная версия Notepad

Демонстрационная версия Notepad

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

1. Очень интересный способ объяснить, как создается этот прикрепленный Gif? какой-нибудь специальный инструмент?

2. Это отличный ответ!