为Python做一个练习题。没有打印出来。我在模式变量中尝试了很多不同的方法pattern = '@gmail\.com'
对于代码来说效果很好,但我希望参数精确
pattern = '^[a-z]{1,20}\s+[a-z]{1,50}@gmail\.com$'
在Rubular.com上使用他们网站上显示的规则。当我在Python上使用上述模式时,语法错误出现在胡萝卜括号或花括号中。我想解释一下上面这行代码的错误
模式应该是firstName emailID@gmail.com
import math
import os
import random
import re
import sys
def appendUserName(firstNameEmailID):
pattern = '^[a-z]{1,20}\s+[a-z]{1,50}@gmail\.com$'
if re.search(pattern,emailID):
userList.append(firstName)
if __name__ == '__main__':
N = int(input())
userList = []
for N_itr in range(N):
firstNameEmailID = input().split()
firstName = firstNameEmailID[0]
emailID = firstNameEmailID[1]
appendUserName(firstNameEmailID)
print(*sorted(userList), sep = '\n')
模式代码的第一部分包括电子邮件变量的名字。创建了一个
emailPattern
和namePattern
变量您应该删除大括号
{}
后面的+
符号,还必须在字母字符匹配中添加[A-Z]因此,您的正则表达式应该是:
要获得此示例的更完整测试代码,请执行以下操作:
相关问题 更多 >
编程相关推荐