Basic |
Top Previous Next |
- Cấu trúc của StringRegExp là:
a. Dùng tổ hợp (.*?) để tách lấy chuỗi cần, chả cần biết ba cái \w, \d... gì cho mệt óc.
b. Trước và sau dấu ngoặc đơn của (.*?) cần có 2 "móc neo" đáng tin cậy. Móc neo đầu là nơi bắt đầu lấy chuỗi, móc neo cuối là nơi kết thúc lấy chuỗi. Nếu muốn lấy chuỗi bắt đầu từ móc neo đầu cho đến hết hàng tức là không xác định móc neo cuối (khi chuỗi gồm nhiều hàng) thì bỏ dấu ? trong cụm (.*?) đi, tức là chỉ (.*) thôi.
c. Ngoài các ký tự 0-9, A-Z, a-z thì các ký tự khác thêm dấu \ ở trước, riêng ký tự khoảng trắng ta không để là \ mà là \s, tất nhiên trừ dấu ngoặc đơn để xác định chuỗi cần tìm là không thêm \. (Lưu ý: thực ra chỉ các ký tự sau là cần thêm \ là: \ . ^ $ | [ ( { * + ? # )
d. Đầu $bộ_máy_lọc_chuỗi ta dùng (?i) để không phân biệt hoa thường.
- Ví dụ : Ta có chuỗi: $string = '1234[lMG]http://abc.xyz[/lMG]4321[lMG]http://123.xyz[/lMG]' Hãy lọc ra đường link http://abc.xyz trong chuỗi.
Lưu ý: Nếu $giá_trị_trả_về để là 3 thì sẽ ra 2 kết quả là http://abc.xyz và http://123.xyz vì thằng http://123.xyz nó cũng có cấu trúc tách giống như thằng kia. |