Saya ingin mencari file untuk kata dalam satu baris dan kata lain di baris setelah itu
Misalnya saya ingin mencari baris yang berisi 75 37
dan saya ingin baris setelah itu mengandung 8B 45 FC
Apakah ada ungkapan reguler untuk itu?
Berikut adalah sebagian kecil file untuk melihat apa yang saya butuhkan, file tersebut memiliki lebih dari 9 juta baris
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 }
Jawaban:
Saya memodifikasi teks sampel Anda untuk benar-benar menyertakan informasi yang Anda cari untuk contoh ini.
Ekspresi Reguler berikut akan menunjukkan yang Anda inginkan.
(75 37).*\R.*(8B 45 FC)
Anda dapat melihat ini dalam aksi sini .
Pastikan bahwa
. matches newline
tidak dicentang.Untuk memecah ini:
(75 37)
mencari instance pertama.*\R.*
melewati karakter baris baru(8B 45 FC)
mencari instance keduasumber
\R
lebih sederhana dari\r?\n
untuk hasil yang sama.