【问题标题】:Python regex word, ip and port combination matchPython 正则表达式单词、ip 和端口组合匹配
【发布时间】:2016-09-06 23:48:09
【问题描述】:

我有一个来自日志的短语列表,我想使用以下正则表达式验证名称。 phrase 是有效的,但我仍然失败了。谁能告诉我这是什么问题?

非常感谢!

phrase = "ServerName.192.168.12.12.52915"
regex = re.compile("\bServerName\.\^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,5}$")

res = regex.match(phrase)
if test:
   print "pass"
else:
   print "fail"

【问题讨论】:

  • 你的输入没有插入符号,你的模式有\^。看here。您甚至不需要在模式的开头使用任何 \b
  • 谢谢。很容易错过。

标签: python regex ip


【解决方案1】:

您的输入中没有^,但您在正则表达式模式中定义了它。去掉它。 此外,由于您使用re.match 将搜索锚定在字符串的开头,因此您不需要初始的\b。并使用原始字符串文字以确保安全。

r"ServerName\.\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,5}$"

请参阅regex demo

【讨论】:

  • 谢谢。正则表达式演示在开发模式时非常有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-10
  • 2015-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多