正则表达式:只能启动Mozilla,而不是“机器人”。用语言

时间:2014-04-03 13:25:44

标签: regex robots.txt

离。 UserAgent(已接受):Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36

我想创建正则表达式,只接受以Mozilla开头但不包含bot

的UserAgent

离。不接受:

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

由于

2 个答案:

答案 0 :(得分:1)

通常,向前看是一种在一个正则表达式中创建条件一个字符串的好方法。

^(?!.*bot)Mozilla.*$
  • (?!...)是一个负面的预测。如果里面的内容匹配,它将失败整个正则表达式,所以如果你的字符串中某处有bot(甚至在单词中),
  • ^$是匹配字符串开头和结尾的锚点

演示:http://regex101.com/r/iN4zA7

答案 1 :(得分:0)

对此挑战使用负面展望: (?!机器人)

^Mozilla((?!bot).)*$