我正在进行文件搜索,我想排除其中包含min
的文件,但我不想匹配部分单词。
所以我想排除:
一个名为的目录,一个名为min
的文件jhkjahdf-min.txt
但我不想排除:
一个名为mint.txt
感谢您在高级方面的帮助。您给出的正则表达式的解释将有很多额外的帮助。
我正在使用 PHP 的 preg_match() 函数
我正在进行文件搜索,我想排除其中包含min
的文件,但我不想匹配部分单词。
所以我想排除:
一个名为的目录,一个名为min
的文件jhkjahdf-min.txt
但我不想排除:
一个名为mint.txt
感谢您在高级方面的帮助。您给出的正则表达式的解释将有很多额外的帮助。
我正在使用 PHP 的 preg_match() 函数
有一些东西叫做单词边界(\b
)。它们不消耗字符,但如果您从单词字符(字母、数字、下划线)转换为非单词字符,则匹配,反之亦然。所以这是第一个很好的近似值:
`\bmin\b`
现在,如果您也想将数字和下划线视为单词边界,它会变得有点复杂。然后,您需要所有正则表达式引擎都不支持的负前瞻和后瞻:
`(?<![a-zA-Z])min(?![a-zA-Z])`
这些也不会包含在匹配中(如果您完全关心它的话),而只是断言min
既不在字母之前也不在其后。
你会想用它来锚定你的正则表达式,\b
这意味着“单词边界”。