如何检查给定的字符串是否是有效的java标识符



我在谷歌中没有找到任何算法、正则表达式或库来检查String是否是有效的Java标识符。我知道java标识符的有效声明规则(或者可能对IDE有帮助)。

有人能支持我吗如何检查有效的java标识符

附言:请不要要求我描述我的模拟代码,因为我不太熟悉正则表达式,我知道我可以自己用硬代码写作。我正在寻找更好、更简单的方法来检查它。

我认为你应该试试这个

public class IdentifierTest {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
    for(String arg : args) {
        boolean start = true;
        boolean validIdentifier = true;
        arg.toCharArray() 
        // commenter pointed out my error
        //for(byte b : arg.getBytes()) {
        for(char b : arg.toCharArray()) {
            if(start) {
                validIdentifier = validIdentifier && Character.isJavaIdentifierStart(b);
                start = false;
            } else {
                validIdentifier = validIdentifier && Character.isJavaIdentifierPart(b);
            }
        }
        System.out.println("Identifier ""
        + arg + "" is "
        + (validIdentifier ? "" : "not ")
        + "valid");
    }
}

}

最新更新