【发布时间】:2015-03-04 12:44:04
【问题描述】:
我遇到了正则表达式的问题。我的意图是如果字符串包含类似于域的内容(它应该是包含由点分隔的 2 或 3 个单位的字符串),则返回 True。 我写了这样的模式:
pattern = r'([a-z]+(\.[a-z]+){1,2})'
如果字符串有 2 或 3 个部分也没关系,但如果出现较长的示例,例如
“www.haha.bla.pl”
我认为{1,2} 会成功,但事实并非如此。请给我一些建议。
【问题讨论】:
-
你的输入格式是什么?你保证每行只有一个吗?输入中是否还有其他文本日志类型的内容?
-
只有这样的东西: self.assertFalse(is_domain_name("www.haha.bla.pl")) self.assertTrue(is_domain_name("foo.tv")) self.assertTrue(is_domain_name("bla .pl")) self.assertFalse(is_domain_name("bla1.pl")) self.assertTrue(is_domain_name("www.bla.pl")) self.assertFalse(is_domain_name("foo..tv")) self.assertTrue (is_domain_name("zz")) self.assertTrue(is_domain_name("xyz")) self.assertFalse(is_domain_name("foo.pl."))
标签: python regex ip-address