Я хочу найти в файле слово в строке и другое слово в строке после этого
Например, я хочу найти строку, содержащую 75 37 и хочу, чтобы строка после этого содержала 8B 45 FC
Есть ли регулярное выражение для этого?

Вот небольшой кусок файла, чтобы увидеть, что мне действительно нужно, файл содержит более 9 миллионов строк

MyFile.exe+A9554- C7 45 FC A6190000     - mov [ebp-04],000019A6 { 6566 }
MyFile.exe+A955B- 0FB7 CE               - movzx ecx,si
MyFile.exe+A955E- 33 D2                 - xor edx,edx
MyFile.exe+A9560- 33 C1                 - xor eax,ecx
MyFile.exe+A9562- C1 EE 10              - shr esi,10 { 16 }
MyFile.exe+A9565- 33 F0                 - xor esi,eax
MyFile.exe+A9567- 8B 45 FC              - mov eax,[ebp-04]
MyFile.exe+A956A- 35 DF050000           - xor eax,000005DF { 1503 }
MyFile.exe+A956F- C1 E6 10              - shl esi,10 { 16 }
MyFile.exe+A9572- 89 45 FC              - mov [ebp-04],eax
MyFile.exe+A9575- 0B F1                 - or esi,ecx
MyFile.exe+A9577- 8B 45 FC              - mov eax,[ebp-04]
MyFile.exe+A957A- 35 790C0000           - xor eax,00000C79 { 3193 }

1 ответ1

2

Я изменил ваш образец текста, чтобы фактически включить информацию, которую вы ищете для этого примера.

Следующее регулярное выражение должно показать, что вы хотите, что вам нужно. (75 37).*\R.*(8B 45 FC)

Вы можете увидеть это в действии здесь.

Убедитесь в этом . matches newline не проверяется.

Чтобы сломать это:

  1. (75 37) ищет первый экземпляр
  2. .*\R.* передает символ новой строки
  3. (8B 45 FC) ищет второй экземпляр

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .