python - 如何验证字符串?
问题描述
我只是想知道如何编写验证字符串的代码?例如,用户输入邮政编码(字符串)。我必须确保它遵循 L#L#L# 格式 L-> 仅代表一个字母,#-> 仅代表一个数字而不是十进制 ...如果不要求用户再次输入
解决方案
字符串方法 更多信息
对于您的示例,您可以使用 2 的步骤对字符串进行切片,如果它是数字/字母,则每隔一个检查:
.isdecimal
检查构成以 10 为基数的数字系统 (0-9) 的字符。
.isalpha
检查字母 (AZ)
test_good = 'L5L5L5'
test_bad = 'LLLLLL'
def check_string(test):
if test[0::2].isalpha() and test[1::2].isdecimal():
return True
else:
return False
测试一下:
check_string(test_good)
>>>True
阴性测试:
check_string(test_bad)
>>>False
正则表达式执行模式匹配操作等等。在下面的示例中,我提前编译了模式,以便它看起来很干净并且可以在需要时重复使用。
我也使用re.fullmatch()
which 需要整个提供的字符串匹配,而不仅仅是其中的一部分。它本身将返回None
或匹配对象,所以我检查它是否存在(意味着它匹配)并返回 True,否则(无)返回 False。
import re
def match(test):
re_pattern = re.compile('[A-Z][0-9][A-Z][0-9][A-Z][0-9]')
if re.fullmatch(re_pattern, test):
return True
else:
return False
推荐阅读
- javascript - 在输入时将光标移动到下一个元素跟踪 tabindex
- webgl - Webgl highmap 根据纹理的亮度进行置换映射
- react-native - React Native - 添加不同颜色的阴影
- django - djang-bootstrap 避免在调用 `field|bootstrap` 时添加标签标签
- javascript - gatsby-source-shopify 和 graphql 错误采购数据时发生错误
- laravel - 使用错误刀片指令时在哪里写错误消息?
- ios - Xcode 11.4 - 消失的 iOS 模拟器功能 -> 定位高速公路驱动选项
- javascript - 属性检查不作为打字稿中的 html 元素存在?
- php - 如何打印或显示 DOMXPath 对象以查看它包含的内容?
- javascript - Puppeteer 导入函数错误:this._pageBindings.get(...) 不是函数