Saya mencoba menerapkan beberapa pencarian notepad ++ regex lama saya di perl.
Saya menggunakan perintah berikut.
perl -i -pe 'BEGIN{undef $/;} s/\\cellx10464\\pard\\plain\\intbl\\s0\\ql\\fi0\\li0\\ri0\\sl320\\plain\\f4\\fs20\\b\\cf0 Patent Information\\b0(?:.*[\r\n]+){88}\\cellx10464\\pard\\plain\\intbl\\s0\\ql\\fi0\\li0\\ri0\\sl320\\plain\\f1\\fs20\\cf0 \\f1\\fs20\\cf0 US \d{11}(?:.*[\r\n]+){52}\\cellx10464\\pard\\plain\\intbl\\s0\\ql\\fi0\\li0\\ri0\\sl320\\plain\\f1\\fs20\\cf0 \\f1\\fs20\\cf0 (US [0-9]{5,7})[\r\n]+\\cell\\pard\\plain\\intbl\\s0\\ql\\fi0\\li0\\ri0\\sl320\\plain\\f1\\fs20\\cf0 \\f1\\fs20\\cf0 (\w\d)[\r\n]+\\cell\\pard\\plain\\intbl\\s0\\ql\\fi0\\li0\\ri0\\sl320\\plain\\f1\\fs20\\cf0 [a-zA-Z]{3} [0-9,]{3} [0-9]{4}[\r\n]+\\cell\\pard\\plain\\intbl\\s0\\ql\\fi0\\li0\\ri0\\sl320\\plain\\f1\\fs20\\cf0 \\f1\\fs20\\cf0 [\r\n]+\\cell\\pard\\plain\\intbl\\s0\\ql\\fi0\\li0\\ri0\\plain/tttttt$1 $2/smg' 1.rtf
Edit tetapi memberikan kesalahan. (setelah berubah dari saran)
Tidak dapat menemukan terminator string "" "di mana pun sebelum EOF di -e baris 1.
Ini adalah pertemuan pertamaku dengan perl. Apa yang saya lewatkan (atau tambahkan)?
Menggunakan perl strawberry untuk windows.
\1
dan\2
disebut$1
dan$2
di bagian pengganti.Jawaban:
Permintaan maaf atas masalahnya. Ini sudah ada jawabannya di sini https://stackoverflow.com/questions/20712181/strawberry-perl-regex-windows-7
gunakan "bukannya 'di windows.
sumber