leetcode--Python正则表达式解析Valid Phone nums

#!/usr/bin/env python
import os
import re
import sys
filename=sys.argv[1]
fd=open(filename,"r")

index=1
for row in fd.readlines() :
    a=re.compile( r"^(?P\d{3}-|\(\d{3}\) )(?P\d{3})-(?P\d{4})" )
    b = a.match( row )
    if b:
        print( index  ,b.groups()  )
    index=index+1

example

123-456-7890
(123) 456-7890
123 -
(123 )

注:( )给match.goups(0赋值,如果没有使用()的话,那么goups() 为空
(?Pxxxxx)为指定的规则赋值,之后我们就可以使用b.group(’NAME’)来获取值了

你可能感兴趣的:(python,leetcode,python,正则表达式)