日期:2014-05-20  浏览次数:20708 次

求一个方法检验一个字符串是否能做java变量名
好多字符串处理  这块一直弄不明白
Java

------解决方案--------------------
变量名的要求一般是小写字母开头,后面可以再跟单词字符。查阅JDK的AIP帮助文档,Pattern.java中,小写字母的正则表达式是\p{Lower},单词字符的表达式是\w
demo如下:

    public static void main(String[] args)
    {
        //正则表达式初始化
        Pattern p = Pattern.compile("\\p{Lower}\\w*");

        //备用的变量名称初始化
        String[] names = {"a", "A", "a3A", "  ", "a$","aaaAA%%"};

        //循环匹配变量名是否合法
        Matcher m;
        for (int i = 0; i < names.length; ++i)
        {
            //变量名匹配正则表达式
            m = p.matcher(names[i]);

            //匹配成功,打印合法字样
            if (m.matches())
            {
                System.out.println(names[i] + "合法的变量名。");
            }
            else
            {
                System.out.println(names[i] + "不合法的变量名!");
            }
        }
    }


a合法的变量名。
A不合法的变量名!
a3A合法的变量名。
  不合法的变量名!
a$不合法的变量名!
aaaAA%%不合法的变量名!