我在做一个文件搜索,我想排除其中包含min
的文件,但我不想匹配部分文字。正则表达式 - 匹配整个字符串或模式
,所以我想排除:
一个名为min
也是一档名为jhkjahdf-min.txt
但我不想排除:
一个文件名为mint.txt
谢谢你在先进的帮助。你给出的正则表达式的解释会有很多额外的帮助。
我使用PHP的的preg_match()函数
我在做一个文件搜索,我想排除其中包含min
的文件,但我不想匹配部分文字。正则表达式 - 匹配整个字符串或模式
,所以我想排除:
一个名为min
也是一档名为jhkjahdf-min.txt
但我不想排除:
一个文件名为mint.txt
谢谢你在先进的帮助。你给出的正则表达式的解释会有很多额外的帮助。
我使用PHP的的preg_match()函数
有些东西叫做字界(\b
)。它们不会消耗字符,但是如果您从单词字符(字母,数字,下划线)转换为反之亦然的非单词字符,则匹配。所以这是一个很好的第一近似:
`\bmin\b`
现在,如果你要考虑数字和下划线的字边界,也它变得更复杂一些。然后,你需要负向前看符号和lookbehinds,这并非所有的正则表达式引擎支持:
`(?<![a-zA-Z])min(?![a-zA-Z])`
这些也将不列入比赛(如果你关心的话),而只是断言,min
既不是在之前或之后没有一封信。
你会想\b
这意味着锚定你的正则表达式“字的边界。”