所选文件名格式的Regex表达式
本文关键字:Regex 表达式 格式 文件名 | 更新日期: 2023-09-27 18:25:57
我想实现一些正则表达式来测试有效的文件名,如下所示:ABCD-av1-02/27/2012
在第一个字母不应超过4个字母的情况下,第二组从A到Z,V#如V1、V2等
这是我到目前为止所拥有的,但在reg测试仪中不起作用,我想我错过了一些东西。
[a-zA-Z]{4}-[A-Z]{1}-V'd{0,9}[1-9])|(0[1-9])|(1[0-2]))'/(([0-9])|([0-2][0-9])|(3[0-1]))'/(([0-9][0-9])|([1-2][0,9][0-9][0-9]
以下是我根据您的描述看到的问题:
- 第一组字母字符的量词只需要四个字符,而不是最多四个字符
- 该模式不包含第二组字母字符(
'A'
) - 该模式不包含日期的正斜杠
- 花括号内有一些无效的内容
试试这个:
@"[a-zA-Z]{1,4}-[A-Z]-V'd-'d{2}/'d{2}/'d{4}"
分解为:
- 至少一个但不超过四个字母字符,不区分大小写
- 连字符
- 单个大写字母字符
- 连字符
- 大写
'V'
- 一个位数
- 连字符
- 两位数字
- 正斜杠
- 两位数字
- 正斜杠
- 四位数字
显然,这并不能确保末尾的数字代表一个有效的日期。
您还可以放置^...$
符号,以便准确地验证您的愿望模式
@"^[a-zA-Z]{1,4}-[A-Z]-V'd-'d{2}/'d{2}/'d{4}$"
它只会验证你的欲望模式,其余的都是无效的
有效:AAAa-aa-v232-12/2-2010
发票:AAAa-aa-v232-12/2-2013343AAA-