我正在尝试编写一个正则表达式,以匹配带有2个或3个连字符,后跟文件类型的字符串。到目前为止,我无法对此进行概括以使其适用于任何一种情况。任何帮助都很棒。
关于字符串:
•每个连字符分隔的子字符串的第一个字符将大写。
•每个子串的长度为2个或更多字符。
•文件类型将是3个或4个字符。
这是我能够想到的: [A-Z] [a-z] {2,}-[A-Z] [a-z] {2,}。[a-z] {3,4}
答案 0 :(得分:0)
您需要使用?
选项添加另一个字母字符组,该选项表示可以存在前面括号组中的0或1。您还忘记了转义通常表示任何单个字符的.
。此正则表达式应符合您的要求:
^[A-Z][a-z]+-[A-Z][a-z]+(-[A-Z][a-z]+)?\.[a-z]{3,4}$
。
但是,请记住,文件扩展名有时可以包含数字,例如.bz2
。除非您直接控制文件扩展名,否则我将使用此扩展名:
^[A-Z][a-z]+-[A-Z][a-z]+(-[A-Z][a-z]+)?\.[a-z0-9]{3,4}$
。