正则表达式 - 匹配整个字符串或模式

时间:2012-10-18 23:41:50

标签: regex expression

我正在进行文件搜索,我想要排除其中包含min的文件,但我不想匹配部分文字。

所以我想排除:

名为min的目录 还有一个名为jhkjahdf-min.txt

的文件

但我不想排除:

名为mint.txt

的文件

感谢您的高级帮助。对你给出的正则表达式的解释会有很多额外的帮助。

我正在使用PHP的preg_match()函数

2 个答案:

答案 0 :(得分:1)

有一些叫做单词边界的东西(\b)。它们不消耗字符,但如果从单词字符(字母,数字,下划线)转换为非单词字符(反之亦然),则匹配。所以这是第一个很好的近似值:

`\bmin\b`

现在,如果你想将数字和下划线视为字边界,它会变得有点复杂。然后你需要负面的前瞻和外观,所有正则表达式引擎都不支持:

`(?<![a-zA-Z])min(?![a-zA-Z])`

这些也不会包含在匹配中(如果您完全关心它),但只是断言min既不是前面也不后面是字母。

答案 1 :(得分:0)

您希望使用\b锚定正则表达式,这意味着“单词边界”。