具有可选文本的特定文件名正则表达式

时间:2011-09-23 17:25:36

标签: regex

我正在尝试为特定名称构建正则表达式,并在中间添加可选文本。仅这一点就相当容易:

^(pom)(.*?)([.]xml)$

但是,我希望有一个约束。这可能是可能的,也许不是(我没有找到这样的东西)。文件名中可以​​有其他文本,但如果存在,则必须以下划线开头。以下示例应该有助于说明我想要获得的内容:

pom.xml - SUCCEED
pomdxml - FAIL
pomd.xml - FAIL
pom_asdf.xml - SUCCEED
pom_.xml - FAIL

提前感谢您的知识和帮助!

3 个答案:

答案 0 :(得分:1)

你走了:

^(pom)(_.+)?(\.xml)$

答案 1 :(得分:0)

只需使用可选组。

^(pom)(_.*)?(\.xml)$

答案 2 :(得分:0)

这对我也有用

^pom(_\w+)*([.]xml)$