如何检查名称是否与正则表达式一起包含两个点?

时间:2016-03-14 06:41:51

标签: python regex string

我有一个字符串,我想检查这个名字是否包含2个点组合:

"p.a.s@siv" - false 
"p..as@siv" - true 
"p...as@siv" - false

是否可以使用正则表达式和python进行检查?

我在这里找到并尝试了这种模式:

$pattern = '/^([^\.]|([^\.])\.[^\.])*$/';

但它在第一和第三种情况下无法正常工作。据我所知,这意味着我们检查一个符号,它不是点或我们检查符号,这不是点,下一个符号是一个点,接下来的下一个不是一个点。

1 个答案:

答案 0 :(得分:4)

使用基于负面外观的正则表达式。

if re.search(r'(?<!\.)\.\.(?!\.)', s):
    print 'Contain two dots'

(?<!\.)断言匹配前面不会有点。(?!\.)断言匹配后面不会有点。