有没有更有效的方法来检查特定的字符串格式,如邮政编码?

时间:2014-09-25 16:22:25

标签: python string

我是一名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")

1 个答案:

答案 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}表示正好两个字符。

我希望这会对你有所帮助。有关更多信息,请查看正则表达式手册。