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

2019-06-17 06:33发布

问题:

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?

回答1:

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.



回答2:

It is possible, but it is Java specific:

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

(quote as appropriate in a Java string etc)