30/09/2018, 18:22
Lọc lấy chuỗi nằm trong dấu nháy đơn nhưng không nằm trong dấu ngoặc nhọn
Em đang tạo một biểu thức chính quy để lọc tất cả các kí tự nằm trong cặp dấu nháy, nhưng không ở trong cặp dấu ngoặc nhọn.
vd:
{xin chao, day la xau 'daynhauhoc'} va day la xau 'bieuthucchinhquy' cua toi.
sau khi lọc sẽ cho ra:
bieuthucchinhquy
(mặc dù daynhauhoc
cũng nằm trong cặp dấu nháy, nhưng nó lại ở trong cặp dấu ngoặc nhọn cho nên không hợp lệ.)
Mong các anh chị giúp đỡ em với ạ, em cám ơn nhiều…
Bài liên quan
Sao không tìm hết các chuỗi nằm trong
{}
rồi xóa hết đi, sau đó mới tìm chuỗi nằm trong''
Không anh ơi, chỉ lọc ra chứ không xóa và chuổi này có thể rất là dài…
Lọc là lấy ra đúng không? Mục đích của mình là lấy ra, tạo một bản copy của cái chuỗi đó rồi xóa dần cái không cần để lấy cái mình cần.
Dài thì có liên quan gì?
Vì rất dài cho nên sợ không đủ thời gian anh ạ!
Rất dài là cỡ nào? Vài GB text không? Regular expression phức tạp nó chạy cũng lâu nữa.
Thế này anh ạ, mục đích chính của em khi lọc ra là để cho nó có màu khác thôi, giống như là Highlight Code ấy. Và nó phải tự động thay đổi khi nội dung thay đổi, nội dung này ở trên RichTextBox.
http://regexstorm.net/tester
Chạy được trên ví dụ đơn giản nhưng phức tạp thì có thể có lỗi đối với ví dụ phức tạp.
Nhớ là: nếu bạn có một vấn đề, bạn dùng regular expression, bạn có 2 vấn đề.
Like anh Đạt, hay thật!!
Biểu thức này bị lỗi với:
Cái này còn tùy thuộc vào nhu cầu của tinh năng có muốn highlight luôn các ký tự đặc biệt đặt trong
''
hay không, mà có nữa thì phức tạp à\w+
chỉ lấy chữ, số và dấu gạch chân