为什么单词边界不匹配



我有以下文件,我想从它们匹配一组特定的文件

TS_1.zip
The one.zip
Linux Mirror.zip
Linux.Mirror.zip
LinuxWindows1.zip
LinuxWindows2.zip
LinuxWindows3.zip
LinuxWindows4.zip
Linux.Windows.zip
TS_1.xls
The one.txt

我使用的正则表达式是;

Linux(?=Windows).*.zip/g

我尝试使用,但是它不匹配任何模式;

Linux(?=bWindows).*.zip/g

我以为b匹配单词'Windows'

Linux中的xWindows中的W之间没有字边界。单词边界是由单词字符和非单词字符之间的转换定义的。xW都是单词字符,所以这里没有过渡点。regex引擎没有那么聪明,无法检测到LinuxWindows是两个不同的单词。

正则表达式应该像:

LinuxWindows.*.zip

但是因为我不知道这个工具,也不知道你是如何读取输入的,我不知道它是否正确。根据工具的不同,它可能会返回OtherTextLinuxWindows1.zip的匹配,这可能不是您想要的。

最新更新