我有一个PowerShell脚本,它将获取文件夹中所有文件的列表,然后(基于Switch语句中的正则表达式匹配)将每个文件移动到指定的文件夹(取决于正则表达式匹配).
我遇到了特定列表的问题.以"40"开头的一组文件(以其部件号命名的PDF文件)将移动到指定的文件夹.
这个正则表达式本身对我来说很容易,我遇到的问题是,如果文件包含 _ol OR _ol_则它不能匹配.
例如,下面的文件名应该全部匹配:
401234567.pdf
401234567a.pdf
401234567_a.pdf
401234567a_something.pdf
Run Code Online (Sandbox Code Playgroud)
以下内容不应匹配:
401234567_ol.pdf
401234567_ol_something.pdf
Run Code Online (Sandbox Code Playgroud)
使用^(?i)40\w+[^_ol].pdf$正则表达式是我能得到的最接近的.它将否定401234567_ol.pdf作为一个匹配; 但是,它接受了401234567_ol_something.pdf.有谁知道我怎么能否认这也是一场比赛?