tôi đã sử dụngRegular Expression để loại bỏ tất cả mọi thứ nhưng ký tự và số giữa Quảng trường ngoặc
value.replaceAll("[^\\w](?=[^\\[]*\\])", "");
nó hoạt động tốt nếu trong trường hợp sau đây
[a+b+c1 &$&$/]+(1+b&+c&)
sản xuất:
[abc1]+(1+b&+c&)
nhưng trong trường hợp chuỗi sau nó chỉ loại bỏ các dấu ngoặc vuông trong dấu ngoặc vuông trong lần chạy đầu tiên
[a+b+c1 &$&$/[]]+(1+b&+c&)
sản xuất:
[a+b+c1 &$&$/]+(1+b&+c&)
tại sao '+ 'trong' a + b + c1' không bị xóa? .. Theo câu hỏi của bạn, nó không nên ở đó đúng không ?. Điều gì xảy ra nếu biểu thức là 'a + b + c1 ++++ -' .. thì đầu ra là gì? – TheLostMind
xin lỗi tôi đã làm sai bằng văn bản –
Dấu ngoặc nhọn không thể được giải quyết chỉ bằng regex. Viết một trình phân tích cú pháp cho việc này. – anubhava