我在谷歌中没有找到任何算法、正则表达式或库来检查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");
}
}
}