-1

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

*_*_*.key

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

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

谢谢!

4

2 回答 2

2

使用这个正则表达式^([^_]_)+[^_]\.key$+你可以写下破折号的数量 fe{2} 正则表达式将是^([^_]_){2}[^_]\.key$

于 2012-12-17T08:18:14.803 回答
1

使用否定字符类来匹配除下划线以外的任何内容:

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

仅当您希望允许零个字符时才使用 *而不是。+

^[^_]*_[^_]*_[^_]*\.key$
于 2012-12-17T08:16:05.657 回答