首页 > 解决方案 > 如何格式化数组并使用户的输入符合数组格式

问题描述

是否可以创建一个程序来接受用户的输入并根据格式化的数组检查它,然后确保用户的输入符合这种格式。

char password[8]
password[0] = 'A, B, C , D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z'
password[1] = '!, ", £, $, %,^, &, *,(, )'
password[2] = '!, ", £, $, %,^, &, *,(, )'
password[3] = '1,2,3,4,5,6,7,8,9,0'
password[4] = '1,2,3,4,5,6,7,8,9,0'
password[5] = '1,2,3,4,5,6,7,8,9,0'
password[6] = 'a, b, c , d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z'
password[7] = 'a, b, c , d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z'

在我的代码中,我试图获取用户的输入并将其放入此字符数组中,并确保用户的输入只有 8 个字符长,而输入的每个字符都必须是这些指定字符之一,例如第一个字符输入必须是大写的 AZ。

抱歉,如果这是超级错误或没有意义我是编程新手

标签: c

解决方案


超级欢迎加入堆栈溢出社区。

所以我从你的问题中收集到的是你想在这种情况下验证通过控制台提供的输入。

是的,你可以这样做。没有固定的方法可以做到这一点,您可能希望在需要时混合使用不同的方法。

让我们看看您在问题中提到的两个案例

  • I/P 长度验证
  • I/P 以大写字母开头

两者都可以使用正则表达式(简称 regex)进行验证。

您可以查看正则表达式以及如何在 C 中的堆栈溢出 ans中使用它。

满足这两种情况的有效正则表达式可以是^[A-Z].{7}$,它强制第一个字母以长度为 1 的大写字母中的任何一个开头,然后是长度为 7 的任何字符。因此字符串的总长度为 8。

要检查更多关于正则表达式模式和测试你的正则表达式,你可以访问这个这个


推荐阅读