Java对非英语正则表达式的支持

3

我需要验证用户输入的用户名是否只包含字母,但是用户正在用西班牙语输入。我不能使用常见的正则表达式[A-Za-z]。 是否可以使用Java正则表达式进行验证? 其他方法的建议也可以。


1
阅读这篇文章 - AllTooSir
可能的重复问题 http://stackoverflow.com/questions/1161507/regex-for-spanish-alphabets-in-coldfusion-8 - AllTooSir
2个回答

2

使用基于Unicode的字母符号:

\\p{L}

同时,您可以使用Pattern.UNICODE_CASE选项创建自己的模式以获得Unicode支持:

Pattern p = Pattern.compile(regex, Pattern.UNICODE_CASE);

您可能还需要在Pattern.compile()的标志上指定UNICODE_CASE - Michael Berry

2
您可以使用\p{IsAlphabetic},或者在西班牙语的情况下,您可以使用[A-Za-zÁÉÍÓÚáéíóúÑñÜü] 西班牙语是我的母语 :-)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接