Ranh giới không có từ trong regex (\ B), so với ranh giới từ là gì?Ranh giới không phải từ trong regex ( B), so với ranh giới từ là gì?
Trả lời
Một ranh giới từ (\b
) là một trận đấu chiều rộng không mà có thể phù hợp:
- giữa một nhân vật từ (
\w
) và một nhân vật phi-word (\W
) hoặc - giữa một nhân vật từ và bắt đầu hoặc kết thúc chuỗi.
Trong Javascript, định nghĩa của \w
là [A-Za-z0-9_]
và \W
là bất kỳ thứ gì khác.
Phiên bản phủ định của \b
, được viết \B
, là một đối sánh chiều rộng bằng không nơi trên không không giữ. Do đó, nó có thể khớp:
- Giữa hai ký tự từ.
- Giữa hai ký tự không phải từ.
- Giữa ký tự không phải từ và bắt đầu hoặc kết thúc chuỗi.
- Chuỗi trống.
Ví dụ, nếu chuỗi là "Hello, world!"
sau đó \b
trận đấu ở các vị trí sau:
H e l l o , w o r l d !
^ ^^ ^
Và \B
phù hợp với những nơi \b
không phù hợp:
H e l l o , w o r l d !
^^^^ ^^^^^ ^
Mục đích cơ bản của non-word-boundary
là tạo một regex có nội dung:
nếu chúng ta đang ở đầu/kết thúc của một
word char
(\w
=[a-zA-Z0-9_]
) chắc chắn rằng các nhân vật trước/sau cũng là mộtword char
,ví dụ:
"a\B."
~"a\w"
:"ab"
,"a4"
,"a_"
, ... nhưng không phải là"a "
,"a."
nếu chúng ta đang ở đầu/cuối của
non-word char
(\W
=[^a-zA-Z0-9_]
) chắc chắn rằng các nhân vật trước/sau cũng là mộtnon-word char
,ví dụ .:
"-\B."
~"-\W"
:"-."
,"- "
,"--"
...nhưng không"-a"
,"-1"
Đối word-boundary
nó tương tự nhưng thay vì đảm bảo rằng các nhân vật liền kề của cùng lớp (word char
/non-word car
) họ cần phải khác nhau, vì thế mà tên word's boundary
.
- 1. Biểu thức ranh giới từ Regex
- 2. PostgreSQL Regex Word Ranh giới?
- 3. Ranh giới từ regex không bao gồm dấu gạch ngang
- 4. Ranh giới thư là gì?
- 5. utf-8 từ regex ranh giới trong javascript
- 6. php regex từ ranh giới tương ứng trong utf-8
- 7. Oracle REGEXP_LIKE và các ranh giới từ
- 8. đọc ranh giới giữa hai từ khóa
- 9. \ b không khớp khi ký tự trước là một ranh giới từ
- 10. Regex sử dụng ranh giới từ nhưng từ kết thúc bằng a. (Thời gian)
- 11. từ Regex ranh giới \ b có vấn đề với umlauts (ký tự đặc biệt bằng tiếng Đức)
- 12. Mẫu ECB - ranh giới thực sự là gì?
- 13. Tạo ranh giới nhiều phần
- 14. Xác định ký tự làm ranh giới từ
- 15. Chuỗi cắt ngắn trên ranh giới từ gần nhất
- 16. Chỉ mục Java Mảng ngoài ranh giới
- 17. Làm thế nào để thêm một ranh giới ranh giới trong UIView của Iphone.Xin hãy đọc mô tả
- 18. Ranh giới in của cây nhị phân
- 19. Vẽ ranh giới giữa cặp bằng Python
- 20. Trong Vim, làm thế nào để bạn tìm kiếm một ký tự ranh giới từ, giống như \ b trong regexp?
- 21. Đường ranh giới đường chéo linh hoạt trong R
- 22. ranh giới giao dịch trong một kiến trúc N-tier
- 23. Dịch bitmap/tỷ lệ trong phạm vi ranh giới?
- 24. Chỉ vẽ các ranh giới của stat_smooth trong ggplot2
- 25. không liên kết đến ranh giới 16-byte có ý nghĩa gì trong x86
- 26. Div bên trong vượt quá ranh giới div bên ngoài
- 27. Số học con trỏ trên các ranh giới subobject
- 28. Tại sao mã phải được căn chỉnh với ranh giới địa chỉ trên x86?
- 29. chỉ số ngoài ranh giới trong hàm gbm
- 30. Trong vim, làm cách nào để tạo chuyển động ranh giới từ tùy chỉnh?
Đẹp nhất. Theo kinh nghiệm của tôi, * giải thích * ranh giới từ là khó khăn hơn đáng kể so với * sử dụng * chúng. –
Tôi chưa thấy một giải thích rõ ràng về ranh giới từ trước đây. Tuyệt vời! – Salil