Regular Expression match all \p{L} but not \p{Alpha}

java, operator-keyword, regex

Solution

Yes, by using a negated character class:

[^\P{L}\p{Alpha}]

`[^\P{L}]` matches the same as `\p{L}`, but the negated character class makes it possible to subtract characters/properties from that set of characters.

Problem

How can I match all `\p{L}` but not `\p{Alpha}` in a regular expression? Is it possible to implement a logical `AND` in Java's Regexp? If the answer is yes, how can that be achieved?

Original source