Jadi saya punya skrip, dengan garis yang dipisahkan oleh carriage return. Terkadang penulis mengacaukan dan meletakkan catatan (teks yang terdapat di dalam [[]]) di tengah atau awal baris ketika seharusnya berada di akhir. Karena ini bukan seragam, saya mengalami kesulitan menemukan cara untuk memindahkan catatan ini pada akhir baris yang muncul di dalam Notepad ++ secara otomatis, baik melalui makro atau menemukan regex & &; menggantikan.
Sederhananya, saya ingin cara otomatis dari ini:
hello [[emphasis]] my friends!
[[laugh]] how are you?
untuk:
hello my friends! [[emphasis]]
how are you? [[laugh]]
Jawaban:
Ini dapat dilakukan di Menggantikan dialog:
(?-s)(\[\[.*\]\])[\h]*(.*?)[\h]*$
$2 $1
Pada dasarnya, saya mencari
[[...]]
dan memasukkannya ke dalam$1
, lalu semuanya setelah masuk$2
. Ini kemudian menggantikan kedua sehingga$2
mengejar$1
. Saya melakukan beberapa hal tambahan, seperti memastikannya diabaikan. matches newlines
, yang seperti itu.*
tidak akan membungkus garisFYI: Jika Anda perlu mencari dan mengganti lebih lanjut ("pencocokan", "menandai", "bookmark", ekspresi reguler, "regex"), pelajari FAQ ini di Komunitas Notepad ++ dan dokumentasi yang ditunjuknya. Ini akan membantu Anda menggunakan ekspresi reguler di Notepad ++, dan akan membantu Anda memahami detail dari regex yang saya tulis.
sumber