R. *_*oel 2 regex excel vba excel-vba
我试图将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*是,你在你的问题中提到的文件数量.