Java正则表达式详解 
http://www.fanqiang.com/a4/b5/20011113/0808001561.html

解决方案 »

  1.   

    regex = "对面走来一个((老人)|(青年)|(小孩))";
    这样就行了吧
      

  2.   

    to jackkui:  如果象你说的那样写,那么这三个项目都会被置于matcher中的group中去,而我不想捕获他们,我的意思只是想确定在指定的位置是否是这三个项目其中之一,如不是,则该字符串不是合法的to cm4ever: 你提供的文档里说明 :  1.3 “或”符号  
    如果除了上面匹配的所有单词之外,你还想要匹配“toon”,那么,你可以使用“|”操作符。“|”操作符的基本意义就是“或”运算。要匹配“toon”,使用“t(a|e|i|o|oo)n”正则表达式。这里不能使用方扩号,因为方括号只允许匹配单个字符;这里必须使用圆括号“()”。圆括号还可以用来分组,具体请参见后面介绍。 
    同样,文档提到圆括号使用时同时会分组,如果我不希望分组,应该怎么办?to netsniffer: 在pattern中直接输入中文在匹配的时候没有问题,我已试过了
      

  3.   

    jackkui(键盘上的武士的说法好象是对的。