Untuk mencocokkan substring antara yang pertama [
dan yang terakhir ]
, Anda dapat menggunakan
\[.*\] # Including open/close brackets
\[(.*)\] # Excluding open/close brackets (using a capturing group)
(?<=\[).*(?=\]) # Excluding open/close brackets (using lookarounds)
Lihat demo regex dan demo regex # 2 .
Gunakan ekspresi berikut untuk mencocokkan string antara tanda kurung kotak terdekat :
CATATAN : *
cocok dengan 0 atau lebih karakter, gunakan +
untuk mencocokkan 1 atau lebih untuk menghindari kecocokan string kosong dalam daftar / array yang dihasilkan.
Setiap kali kedua dukungan lookaround tersedia, solusi di atas bergantung pada mereka untuk mengecualikan braket buka / tutup terkemuka / tertinggal. Jika tidak, andalkan kelompok penangkap (tautan ke solusi paling umum dalam beberapa bahasa telah disediakan).
Jika Anda harus mencocokkan tanda kurung bersarang , Anda dapat melihat solusi dalam ekspresi Reguler untuk mencocokkan untaian tanda kurung yang seimbang dan mengganti tanda kurung bulat dengan tanda kurung siku untuk mendapatkan fungsionalitas yang diperlukan. Anda harus menggunakan grup penangkap untuk mengakses konten dengan braket buka / tutup dikecualikan:
[^]]
lebih cepat daripada non-serakah (?
), dan juga bekerja dengan rasa regex yang tidak mendukung non-serakah. Namun, yang tidak rakus terlihat lebih baik.