是否可以在正则表达式中创建OR条件。
我正在尝试找到包含此类模式的文件名列表的匹配
第一个案例
xxxxx-hello.file
或 第二个案例
xxxx-hello-unasigned.file
此注册表> -hello.file
适用于第一种情况但是他们也可以检查第二种情况吗?
我不想创建两个正则表达式,并希望在可能的情况下结合这两种情况。
感谢。
答案 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>