我是一名Python新手,并想知道是否有人可以帮助检查字符串的格式,例如邮政编码,在特定点使用字母和数字。
E.g。 LLNNLL
使用我收到的帮助,我把它放在一起似乎有效,但我想知道是否有更简单或更有效的方法来做到这一点。
import re
#enters and saves the input
postcode=input("Enter the postcode")
#uses the re command to set the format to check
pccheck=re.compile(r'[a-zA-Z]{2}\d{2}[a-zA-Z]{2}')
#checks if postcode matches the pattern
matching=pccheck.match(postcode)
#does this if the postcode does not match the format
if str(matching) =="None":
print("The postcode is irregular")
file=open("wrongcodes.txt","a")
file.write(str(postcode)+"\n")
file.close()
#does this if it does match
else:
print("The postcode is ok")
答案 0 :(得分:2)
如上所述,您需要re
模块。
import re
post_code = re.compile(r'[a-zA-Z]{2}\d{2}[a-zA-Z]{2}')
matching = post_code.match('AB12CD') # this is true
another_matching = post_code.match('1AB3BC') # this is false
[a-zA-Z]
用于字母,\d
是数字的快捷方式([0-9]
),{2}
表示正好两个字符。
我希望这会对你有所帮助。有关更多信息,请查看正则表达式手册。