Saya punya regex ini di sini;
\[sometag\](.*)\[/sometag\]
Yang seharusnya menangkap teks yang dikelilingi oleh [sometag]
tag. Ini berfungsi untuk informasi satu baris yang terkandung dalam tag ini, seperti pada string [sometag]this is a bit of text[/sometag]
. Tapi itu tidak berfungsi pada teks yang membentang beberapa baris, seperti ini;
[sometag] here is more text
it spans more than one line [/sometag]
Untuk beberapa alasan, pencari regex teks Sublime tidak akan mengenali tag di beberapa baris. Saya ingin tahu apakah ini masalah dengan Sublime Text, opsi yang dapat diubah, atau hanya ketidakmampuan pribadi saya dengan regex.
regex
tags
sublimetext
Maurdekye
sumber
sumber
?
setelah*
akan melakukan pertandingan non-serakah. Pertimbangkan[b]foo[/b]foo[b]bar[/b]
sebagai contoh.\[b\].*\[\/b\]
akan mencocokkan keseluruhan dari awal b hingga penutupan terakhir b.?
di regex101.com/r/gI0xC3/2Jika memodifikasi mode dot tidak dapat diterima karena beberapa alasan, Anda dapat menganggapnya:
sumber
(.|\n)+?
jika Anda memiliki akses ke pengubah DOTALL. Jika Anda tidak dapat menggunakan(?s)
falvor, gunakan[\s\S]
/[\d\D]
/[\w\W]
, tetapi bukan derai bergantian yang disarankan di sini. Pola ini sangat tidak efisien dan dapat dengan mudah menyebabkan masalah batas waktu.[\s\S]
, tetapi sekilas(.|\n)
akan tampak setara? Apakah ini berkaitan dengan grup yang cocok? Tapi(?:.|\n)
apakah akan sama?