我正在尝试创建一个正则表达式来识别给定的String是否是一个数组。
例如,
String foo = "a[1]"; // true
String bar = "b[]"; // true
String tar = "test"; // false
String zoo = "b[][]" // true
我怎么能认出来?
我尝试这样的事情:
Pattern p = Pattern.compile("[_a-zA-Z][_a-zA-Z0-9]*");
但我不知道如何代表“[”和“]”字符。
提前感谢。
答案 0 :(得分:2)
Pattern p = Pattern.compile("[_a-zA-Z]+(?:\\[[_a-zA-Z0-9]*\\])+");
这应该为您完成。escape
[]
。请参阅演示。
答案 1 :(得分:0)
尝试它匹配所有数组类型
[a-zA-Z_]+(?:\\[\d*\\])+