我正在尝试将excel文件中的文档编号与文件夹中的文件进行匹配。
示例文件目录:
A)“ C:\ Users \ directory \ Supplier \ Invoice1.pdf”
B)“ C:\ Users \ directory \ Supplier \ Invoice001.pdf”
C)“ C:\ Users \ directory \ Supplier \ Invoice101.pdf”
D)“ C:\ Users \ directory \ Supplier \ Invoice10.pdf”
E)“ C:\ Users \ directory \ Supplier \ Invoice21.pdf”
我的正则表达式模式匹配A,B和C,但只能匹配A和B。
Pattern = "(^|[^1-9])(DocNumber)([^0-9]|$)"
,其中DocNumber = 1(在我的示例中,也可以是任何其他数字)。
关于如何改进公式以不匹配C的任何想法?
注意:我看到与此类似的其他线程不受欢迎,所以我试图使问题更明确,因为其他线程没有为我提供解决方案。
尝试这样的事情: ^.*[\\\/][^0-9]*0*1\..*$
此处显示的示例:https : //regex101.com/r/O7RdEq/4
说明:
^.*[\\\/]
-将所有内容匹配到最后一个斜杠
[\\\/]
-匹配单个反斜杠或单个正斜杠;请注意,两个斜杠都使用反斜杠进行转义。[^0-9]*0*1\..*$
-匹配每个非数字,直到(包括)前导0,再加上您的文档编号,然后是文件扩展名
[^0-9]*
-在可选的“ 0”之前匹配所有非数字;防止类似“ 101”的情况0*1
-文档编号前的可选“ 0”(在这种情况下为1)\..*$
-匹配一个文字.
,然后匹配任何字符,直到行尾;应该处理文件扩展名。在1
之后的0*
是,你在你的问题中提到的文件数量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句