具有Or条件的正则表达式?

时间:2013-01-29 17:22:08

标签: java regex

是否可以在正则表达式中创建OR条件。

我正在尝试找到包含此类模式的文件名列表的匹配

第一个案例

xxxxx-hello.file

或 第二个案例

xxxx-hello-unasigned.file

此注册表> -hello.file适用于第一种情况但是他们也可以检查第二种情况吗?

我不想创建两个正则表达式,并希望在可能的情况下结合这两种情况。

感谢。

4 个答案:

答案 0 :(得分:7)

使该组可选:

.*-hello(-unasigned)?[.]file

如果性能存在问题,则应将该组设置为非捕获组:

.*-hello(?:-unasigned)?[.]file

如果您希望它只匹配确切数量的字符,您应该为OR案例使用管道:

.{5}-hello[.]file|.{4}-hello-unasigned[.]file

答案 1 :(得分:0)

只需使用|

.*-hello.file|.*-hello-unasigned.file

答案 2 :(得分:0)

*-hello.file|*-hello-unassigned.file

使用|

答案 3 :(得分:0)

我自己使用文件集中的多个包来修复此问题。

这对我有用。不知道为什么reg ex不起作用。

<fileset dir="bin" >
                <include name="welcome-hello-unasigned.file" />
                <include name="welcome-hello.file" />
            </fileset>