我这辈子都想不出如何让这些匹配:
File name without 3 digit end.jpg
File name with 3 digit 123.gif
Single 123.jpg
Single.png
但不是这些:
Single 1.jpg
Single 123b.gif
More words 123b.png
到目前为止我能做到的最好的表达方式是:
^[^\s]((?!\s{2})(?!,\S).)*\b(\p{L}+|\d{3})\.\w{3}$
但它无法匹配Single.png,仍然匹配Single 123b.gif和More words 123b.png。 我想我明白为什么它不起作用,但我不知道如何正确使用它,我已经苦苦挣扎并用谷歌搜索了 2 天。
我的完整规则是:可选地在文件扩展名之前恰好 3 位数字、3 个字母的文件扩展名、文件名中没有双空格以及在逗号之后但不能在逗号之前有一个空格。
请您参考如下方法:
