In fact, it \p{Alpha}is an implementation of the POSIX character class, which will correspond to extended characters only when used in combination with UNICODE_CHARACTER_CLASS (or (?U)), and \p{L}will always correspond to all Unicode letters from the BMP plane. Please note that you can write \p{L}as \pLor \p{IsL}.
More reference data :
Both \p{L}and \p{IsL}indicate the category of Unicode characters .
POSIX character classes (US-ASCII only)
\p{Lower} Lowercase alphabetic character: [a-z]
\p{Upper}Primary alphabetic character: [a-z]
\p{Alpha}Alphabetic character:[\p{Lower}\p{Upper}]
See the following demo :
String l = "Abc";
String c = "";
System.out.println(l.matches("\\p{Alpha}+"));
System.out.println(c.matches("\\p{Alpha}+"));
System.out.println(c.matches("(?U)\\p{Alpha}+"));
System.out.println(l.matches("\\p{L}+"));
System.out.println(c.matches("\\p{L}+"));