01/10/2018, 14:24
Hỏi cách tách string bằng preg_match php
em có 1 đoạn chuỗi sau : xin chao minh la {Duy|Minh|Lam|Chien} sinh nam {1998|2000|2001}
em muốn lấy chuỗi trong { } tức là Duy|Minh|Lam|Chien và 1998|2000|2001.
em dùng preg_match với regex là /.*{(.*)}.*{(.*)}.*/
và lấy được kết quả mong muốn.
nhưng ở đây là 2 cặp { } ví dụ có n cặp { } thì regex là gì em chưa nghĩ ra, mong a/c giúp đỡ!
Bài liên quan
Bạn thử chuỗi này xem:
Test bằng pythex ở đây.
Sao bác lại phải bỏ cái look ahead
?=
vào nhỉ?Cho nó sạch chút thôi, hợp nhãn của tui vì nhóm 2 lần thì nó không đẹp mặc dù vẫn xài được:
EDIT: Hoặc có thể dùng:
Kết quả sạch đẹp và tối ưu hơn
e cảm ơn nha, được rùi ạ. regex này khó quá đi
a có thể chỉ cho e chỗ học regex này ko ah
Xài nhiều quen thôi :v mình học qua Google, chỉ cần
regex cheat sheet
là có đầy, cú pháp thì không có gì khó, quan trọng là tìm được điểm khác biệt duy nhất giữ chỗ mình cần tìm và những chỗ khác rồi viết ra cái regex.Bạn có thể search trên diễn đàn, nhiều người hỏi về regex lắm, đem mấy cái đó ra tập sử dụng là được.
Có thể tham khảo ở đây.