Как найти несколько слов в одной строке в Notepad ++ - PullRequest
4 голосов
/ 14 марта 2010

У меня есть файл журнала 4 МБ от брандмауэра Windows XP, который я пытаюсь найти в строках, которые имеют как DROP, так и IP и номер порта. Мое регулярное выражение слабо, и я предполагаю, что это причина, по которой я борюсь.

Слова «DROP», «10.1.1.1» (например) и «8801» должны находиться в одной строке и могут быть разбросаны по всей строке и разделены одним или несколькими другими словами.

Любая помощь (или предложения другого способа сделать это) очень ценится.

Ответы [ 4 ]

3 голосов
/ 10 августа 2011

Самое простое решение должно быть:

DROP.*10.1.1.1.*8801
1 голос
/ 14 марта 2010

Это будет сделано в блокноте ++

DROP.*10\.1\.1\.1.*8001

Или простое регулярное выражение для разных IP-адресов (поскольку вам не нужно проверять сам IP-адрес)

DROP.*\d\.\d\.\d\.\d.*8801
0 голосов
/ 15 марта 2010

Кажется, блокнот ++ RegEx не распознает фигурные скобки, группы без захвата или \ b. Самое близкое, что я мог найти:
DROP\s.*[0-9]+[.][0-9]+[.][0-9]+[.][0-9]+.*\s[0-9]+ или
DROP\s\d+\.\d+\.\d+\.+\d+.*\s\d+

0 голосов
/ 14 марта 2010

Это решит для вас много вещей:

DROP|\b(?:\d{1,3}\.){3}\d{1,3}\b|8801
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...