\b khớp vị trí ranh giới từ (word boundary) — nơi một bên là ký tự word (\w: chữ, số, underscore), bên kia không phải.
\B ngược lại: khớp mọi vị trí không phải ranh giới từ.
Ví dụ
import re result1 = re.findall(r'\Bcat', 'certificate') result2 = re.findall(r'\Bcat', 'tomcat') result3 = re.findall(r'\Bcat', 'catfish') print(result1, result2, result3)
Kết quả
['cat'] ['cat'] []
Giải thích:
certificate: "cat" ở giữa từ →\Bkhớp trước "c".tomcat: "cat" ở cuối từ nhưng trước đó là "m" (word char) →\Bkhớp.catfish: "cat" ở đầu từ → vị trí trước "c" là ranh giới từ (\b), nên\Bkhông khớp.