我有一个字符串,我想检查这个名字是否包含2个点组合:
"p.a.s@siv" - false
"p..as@siv" - true
"p...as@siv" - false
是否可以使用正则表达式和python进行检查?
我在这里找到并尝试了这种模式:
$pattern = '/^([^\.]|([^\.])\.[^\.])*$/';
但它在第一和第三种情况下无法正常工作。据我所知,这意味着我们检查一个符号,它不是点或我们检查符号,这不是点,下一个符号是一个点,接下来的下一个不是一个点。
答案 0 :(得分:4)
使用基于负面外观的正则表达式。
if re.search(r'(?<!\.)\.\.(?!\.)', s):
print 'Contain two dots'
(?<!\.)
断言匹配前面不会有点。(?!\.)
断言匹配后面不会有点。