2011-01-18 31 views
21

Tôi khá mới đối với cụm từ thông dụng. Bạn có thể giúp tôi để tạo ra một mô hình, mà phù hợp với toàn bộ từ, có chứa một phần cụ thể? Ví dụ, nếu tôi có một chuỗi văn bản "Thực hiện một trận đấu biểu thức chính quy" và nếu tôi tìm kiếm bày tỏ, nó shuld cho tôi biểu, nếu tôi tìm kiếm dạng, nó sẽ cho tôi Thực hiện và do đó trên. Có ý tưởng?PHP preg_match để tìm toàn bộ các từ

Trả lời

38
preg_match('/\b(express\w+)\b/', $string, $matches); // matches expression 
preg_match('/\b(\w*form\w*)\b/', $string, $matches); // matches perform, 
                // formation, unformatted 

đâu:

  • \b là một từ ranh giới
  • \w+ là một hoặc nhiều "từ" nhân vật *
  • \w* là số không hay nhiều "từ" nhân vật

Xem hướng dẫn sử dụng trên escape sequences cho PCRE.


* Lưu ý: mặc dù không thực sự là một "nhân vật từ", gạch dưới _ cũng được bao gồm int lớp nhân vật \w.

+0

Cảm ơn goreSplatter! Nó hoạt động! – tintix

+0

Điều đó thật tuyệt. Chỉ cần những gì tôi đang tìm kiếm ... +1 – OrPaz

+0

\ b Ranh giới từ, đẹp ... Tại sao tôi chưa từng thấy điều đó cho đến bây giờ? Hữu ích. – Andrew

4

này phù hợp 'Thực hiện':

\b(\w*form\w*)\b 

này trận 'biểu hiện':

\b(\w*express\w*)\b 
Các vấn đề liên quan