regex - 如何验证字符在输入字符串中出现的次数?
问题描述
例如:我希望我的用户输入 5 个用逗号分隔的数字...
如果我想确保逗号 (,) 只出现 4 次,否则他们将不得不再次重新输入他们的字符串,我该如何验证呢?
示例问题:“请输入 5 个数字,均以逗号分隔 -”
错误答案:2,3 或 4,5,6,7,8,9
好答案:2,3,4,5,6(4 个逗号,5 个数字)
我的想法是我应该使用正则表达式。如果有人有任何其他想法,请分享。谢谢!
解决方案
您不需要“正则表达式”,这可以通过基本的 Python 函数来完成:
answer = '2,3,4,5,6'
split_answer = answer.split(',')
if len(split_answer) == 5 and all(number.strip().isdigit() for number in split_answer):
print ('good answer')
else:
print ('bad answer')
使用该行answer.split(',')
,您可以测试在单个逗号上拆分后剩余的元素数量;与all(..)
您一起测试这些元素中的每一个是否仅由数字组成。它的strip
内部是为了确保首先删除周围的空白。
推荐阅读
- botframework - 在网络聊天机器人框架中动态选择/按下按钮时如何更改按钮背景颜色
- php - 搜索框不返回数据(PHP)
- javascript - 函数调用的 EsLint 逗号样式
- node.js - 在 NODEJS 中获取 PROMISE OBJECT 值
- php - 代码点火器 Jquery。如何使用电子商务循环将数据显示到卡片中
- macos - 在 Mac OS 上寻找系统范围的自动替换
- javascript - 根据属性值对数组进行排序
- python - 如何将此数组转换为带点分隔的时间序列
- bootstrap-4 - 个人资料照片和 Bootstrap 主题
- r - R ggplot - 广义函数中的箱线图