【发布时间】:2014-11-22 09:30:47
【问题描述】:
所以我需要检查字符串中的每个字符 - 输入 - 以查看它是否匹配/不匹配模式。
在 Codelish 中:
我猜我必须使用 for 循环?
在for循环里面会有-
for each character in string
do (the following)
if it doesn't contain one/more number
echo it doesn't contain contain one/more number
fi
[then other conditions]
done.
所以我要做的是分析字符串中的每个字符并将错误消息(针对每个条件)显示为输出。
任何帮助将不胜感激。
【问题讨论】:
-
一个字符怎么能包含一个或多个个数字?
-
哎呀,我的意思是一个数字(或范围内的字母)。 “如果字符不是数字,那就做点什么。”
-
如果您从这里开始并指出您被卡住的部分,那将会很有用。你知道如何在 bash 中编写
for循环吗?你知道如何匹配模式吗?您是否愿意使用 awk 之类的工具来更有效地完成工作? -
如果您可以 1) 更明确地了解您正在寻找的这种模式,2) 向我们展示您的典型输入数据是什么样的,以及 3) 您期望的输出,这也会有所帮助。 bash(或 awk、perl 或 python)脚本逐个字符地循环字符串的效率很低。使用精心设计的正则表达式(或其他东西)一次处理整个字符串通常要好得多。
-
嗯,一般的想法是分析输入并在匹配/不匹配模式时显示消息。就像 - 如果输入是密码,它是否包含一个特殊字符?它是否包含一个/多个大写字母?如果消息包含多个特殊字符,则显示消息。具体-我正在寻找一个命令,它可以让我遍历用户输入的每个字符。
标签: regex string bash loops character