我编写了以下正则表达式来过滤Java中的其他字符:

this.myTextField.matches("[\\W]*");


问题在于,这种表达方式会过滤掉其他字符和变异的元音。

我需要一个仅过滤诸如<>!"§$%()=}{之类的附加字符的表达式,并且必须排除诸如öäüß之类的变异元音。

最佳答案

尝试用[\\W]*替换[^\\p{L}]*

\W表示不属于[A-Za-z0-9_]的任何内容,包括unicode字母。

here所示,\p{L}是一个字符集,表示来自任何语言的任何种类的字母。因此,[^\p{L}]表示不是任何语言的字母的任何字符。

09-26 23:19
查看更多