Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我必须使用正则表达式检查文件名的格式。有些文件名将包含以下格式:
*_*_*.key
问题是任何字符串都将匹配 *,因此具有格式的文件名*_*_*_*_*_*_*.key也将匹配上面提到的正则表达式。
*_*_*_*_*_*_*.key
我正在考虑计算下划线(_)的数量,但是有没有办法使用正则表达式进行检查?
谢谢!
使用这个正则表达式^([^_]_)+[^_]\.key$ ,+你可以写下破折号的数量 fe{2} 正则表达式将是^([^_]_){2}[^_]\.key$
^([^_]_)+[^_]\.key$
+
{2}
^([^_]_){2}[^_]\.key$
使用否定字符类来匹配除下划线以外的任何内容:
^[^_]+_[^_]+_[^_]+\.key$
仅当您希望允许零个字符时才使用 *而不是。+
*
^[^_]*_[^_]*_[^_]*\.key$