Hỏi về regex phủ định một từ

Cho mình hỏi là làm thế nào để phủ định 1 từ trong regex
VD: ta có chuỗi

[h]hello[/h][h]hello 2[/h]

VD2:

[h]hello[/h] [button] [h]hello 2[/h]

VD3:

[h][bo]hello[/bo] [hello] [/h] [h]hello 2[hello] [/h]

Vậy thì làm sao để lấy khoảng bên trong [h] và [/h] nhưng không được chứa [h]?
Hay nói cách khác ta chỉ lấy:
(vd1 +2)
[1] hello
[2] hello 2
(vd 3)
[1] [bo]hello[/bo]
[2] hello 2[hello]

Code Javascript bạn sài cách nào thì sài

"[h]hello[/h][h]hello 2[/h]"
  .split("[h]")
  .filter(e => e.length != 0)
  .map(e => e.split("[/h]").filter(e => e.length != 0)[0]);
Array.from("[h]hello[/h][h]hello 2[/h]"
.matchAll(/\[h\](.*?)\[\/h\]/g)
.map(e=>e[1])
3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?