与一行中的特定字符串不匹配的正则表达式

时间:2018-07-11 21:32:44

标签: regex

我一直在努力工作数小时,任何人都可以通过正则表达式来帮助我,该正则表达式将与以下文本中的字符串“ map”和“ brand”相匹配。它不应与“ reverse_map”行匹配。因此,前两行可以,但第三行则不能。

map             brand 
map             brand  
reverse_map     brand

3 个答案:

答案 0 :(得分:0)

如果“地图品牌”始终是该行中唯一的字符串,则只需使用^$分别说明该行的开始和结束位置:

^map[[:space:]]+brand$

答案 1 :(得分:0)

使用单词边界要求m中的map之前没有单词字符:

/\bmap brand/

https://regex101.com/r/wE9spT/1/

例如,如果您需要brand类似的内容以确保map brandfoo不匹配,请在末尾添加另一个单词边界:

/\bmap brand\b/

答案 2 :(得分:0)

类似

(?:\bmap\b.*\bbrand\b|\bbrand\b.*\bmap\b)