java 正则表达式中的|怎么理解

public class Demo {

public static void main(String args[]){
String str="1|2uhua311";
boolean b=str.matches("[1]|[2][a-z]{4}[3-9][1]{2}");
System.out.println(b);
}
}
输出 false;
那这个|代表什么意思呀?

第1个回答  2011-05-04
就是“或”
1uhua311 既不满足1也不满足2uhua311输出当然是false
第2个回答  2011-05-04
boolean b=str.matches("[1]|[2][a-z]{4}[3-9][1]{2}");
改为:
boolean b=str.matches("[1][|][2][a-z]{4}[3-9][1]{2}");
第3个回答  2011-05-04
是或的意思追问

我前面试了下1uhua311 输出false

本回答被提问者采纳
第4个回答  2011-05-04
或者的意思