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