Tôi đang cố xác minh rằng chuỗi của tôi khớp với mẫu. Nghĩa là, chuỗi đầy đủ có thể được viết dưới dạng mẫu đó. Tuy nhiên, preg_match
trả lại true
, nếu bất kỳ chuỗi con nào phù hợp với mẫu đó. (Ví dụ preg_match("#[a-z]*#, "333k")
trả 1
, mà tôi không muốn. Trong ví dụ này, tôi thà xác minh, toàn bộ chuỗi chứa chữ cái la tinh chỉ nhỏ.)PHP preg_match chuỗi đầy đủ
Trả lời
Bạn sử dụng bắt đầu và cuối dấu , ^
và $
tương ứng, để cho biết bắt đầu và kết thúc chuỗi trong mẫu biểu thức chính quy của bạn. Bằng cách đó bạn có thể làm cho biểu thức chỉ khớp với toàn bộ chuỗi, không phải bất kỳ loại chuỗi con nào. Trong trường hợp của bạn, trường hợp này sẽ trông giống như sau:
preg_match("#^[a-z]*$#", "333k");
Bạn cũng có thể, với một trong các điểm đánh dấu này, chỉ định mẫu phải khớp với phần đầu hoặc cuối chuỗi.
Lưu ý rằng để neo kết hợp chuỗi ở đầu và cuối chuỗi, bạn cũng có thể xem xét sử dụng các neo \A
và \z
.
preg_match('~\A[a-z]*\z~', "333k");
^^ ^^
Các \A
và \z
là rõ ràng bắt đầu và kết thúc của neo chuỗi trong PHP regex (như hành vi của họ không phụ thuộc vào bất kỳ bổ regex, ngay cả khi bạn chỉ định modifier m
MULTILINE, họ sẽ tiếp tục khẳng định vị trí bắt đầu/kết thúc chuỗi). Xem thêm về neo regex PHP trong PHP documentation.
Cẩn thận với \Z
mặc dù: \Z
sẽ phù hợp với toàn bộ chuỗi trước khi linebreak single cuối cùng, trong khi \z
sẽ chỉ phù hợp tại rất cuối chuỗi, có nghĩa là, sau khi tất cả các nhân vật có trong chuỗi (xem Whats the difference between \z and \Z in a regular expression and when and how do I use it?)
- 1. PHP Regex preg_match extract
- 2. php preg_match không tham lam?
- 3. PHP: preg_match regex không tìm thấy chuỗi đúng
- 4. Băng chuyền đầy đủ chiều rộng đầy đủ với carouFredSel.js
- 5. Chuyển đổi một số nguyên lớn thành một chuỗi đầy đủ trong PHP
- 6. Làm cách nào tôi có thể nhận được chuỗi đầy đủ getTraceAsString() của PHP?
- 7. PHP preg_replace/preg_match vs PHP str_replace
- 8. Bắt URL đầy đủ của trang hiện tại (PHP)
- 9. preg_match địa chỉ php đường
- 10. PHP preg_match length 3276 limit
- 11. Xóa các từ đầy đủ chứa một chuỗi trong Vim
- 12. preg_match thất bại trong php> 5.3
- 13. PHP dừng đọc tập tin từ xa khi sau khi được tải xuống đầy đủ
- 14. FXML tham chiếu đầy đủ?
- 15. Hàng đợi JMS đầy đủ
- 16. SQL transpose đầy đủ bảng
- 17. Cách lấy tên đầy đủ?
- 18. PHP 5.2 preg_match() biên dịch thất bại
- 19. php preg_match định dạng ngày "yyyy-MM"
- 20. PHP - preg_match và "modifier Unknown" lỗi
- 21. PHP preg_match Kinh Thánh Kinh Thánh dạng
- 22. Sử dụng URL đầy đủ với Restangular
- 23. Mục đích của mỏ-đầy đủ và họ đầy lệnh
- 24. PHP preg_match để tìm nhiều lần xuất hiện
- 25. preg_match trong JavaScript?
- 26. Cố gắng lấy một URL đầy đủ mà không có tên tập tin trong PHP
- 27. FILTER_VALIDATE_EMAIL của PHP có cung cấp bảo mật đầy đủ không?
- 28. PHP preg_match để tìm toàn bộ các từ
- 29. phân vùng đầy đủ, hay không?
- 30. django url đầy đủ trong get_absolute_url
Ahhh, cảm ơn vì trợ giúp cực nhanh, hoạt động ngay bây giờ. – user2089648