binary files – `grep -z -a -b -P –only-matching ‘LUKSxbaxbe’` doesn’t match `LUKSxbaxbe…`

I don’t understand (based on https://ubuntuforums.org/showthread.php?t=1643334):

% grep -a -b -P --only-matching 'LUKSxbaxbe' /dev/sde  ### does not match
% echo -e 'LUKSxbaxbe...' | grep -a -b -P --only-matching 'LUKS' ### matches
0:LUKS
% echo -e 'LUKSxbaxbe...' | grep -z -a -b -P --only-matching 'LUKS' ### matches
0:LUKS% echo -e 'LUKSxbaxbe...' | grep -z -a -b -P --only-matchUKSxba' ### does not match
% echo -e 'LUKSxbaxbe...' | grep -z -a -b -P --only-matching 'LUKSxbaxbe' ### does not match

Why doesn’t grep match (as it obviously should), and what do I have to do to make it match?

I had tried those commands in Tails 4.18 and in openSUSE Leap 15.2.