我有一个基于用户输入的数据库查询,但是如果用户在搜索中输入任何一个常见的字母,应用程序就会崩溃。但由于搜索也支持中文字符,我不能简单地阻止所有一个字符的搜索。
如何编写正则表达式来检查单个英文字符,但不包括单个中文字符?"^(a-zA-Z){1}$“"^\w{1}$”这些字符是否仅包括英文字母??
我正在考虑像这样使用正则表达式,但任何更好的解决方案都将不胜感激:
if(input.matches("^(a-zA-Z){1}$")
{
//Show error
}
else
{
//do query
}发布于 2012-05-25 09:19:50
你绝对应该先修复所有的崩溃。要区分英文和中文( CJK )字符,可以使用字符类,例如用于ASCII码的\p{ASCII}、用于ASCII码的\p{Alpha}和用于CJK字符的\p{InCJKUnifiedIdeographs}。
https://stackoverflow.com/questions/10746607
复制相似问题