使用*创建Java Regex

时间:2012-12-17 08:14:32

标签: java regex

我必须使用正则表达式检查文件名的格式。 有些文件名将包含以下格式:

*_*_*.key

问题是任何字符串都匹配*,因此格式为*_*_*_*_*_*_*.key的文件名也会匹配上面提到的正则表达式。

我正在考虑计算下划线的数量(_),但有没有办法检查使用正则表达式?

谢谢!

2 个答案:

答案 0 :(得分:2)

使用此正则表达式^([^_]_)+[^_]\.key$ insted +你可以写下破折号码。{2} 正则表达式将是^([^_]_){2}[^_]\.key$

答案 1 :(得分:1)

使用negated character class匹配除下划线以外的任何内容:

^[^_]+_[^_]+_[^_]+\.key$

仅当您要允许零字符时才使用*而不是+

^[^_]*_[^_]*_[^_]*\.key$