Regex 正则表达式:仅匹配字母或字母与数字
如何创建只匹配字母或字母与数字的正则表达式? 我试过这样的方法:[A-Za-z0-9]+|[A-Za-z]+。 正则表达式应给出以下结果: 123a->true 123->false abc->true abc4->true使用:Regex 正则表达式:仅匹配字母或字母与数字,regex,Regex,如何创建只匹配字母或字母与数字的正则表达式? 我试过这样的方法:[A-Za-z0-9]+|[A-Za-z]+。 正则表达式应给出以下结果: 123a->true 123->false abc->true abc4->true使用: ^(?i)(?=.*[a-z])[a-z\d]+$ 你可以试试awk。如果文本文件包含以下行: 123a 123 abc abc4 使用这一行: awk '{ if ($0 ~ /[0-9]/ and $0 ~ /[A-Za-z]/) {print $0 " --
^(?i)(?=.*[a-z])[a-z\d]+$
你可以试试awk。如果文本文件包含以下行:
123a
123
abc
abc4
使用这一行:
awk '{ if ($0 ~ /[0-9]/ and $0 ~ /[A-Za-z]/) {print $0 " --> true"} else { print $0 " --> false" } }' test.txt
或者把它打扮成:
awk '{
if ($0 ~ /[0-9]/ and $0 ~ /[A-Za-z]/) {
print $0 " --> true"
} else {
print $0 " --> false"
}
}' test.txt
结果
123a --> true
123 --> false
abc --> true
abc4 --> true
解释
检查该行是否包含数字。如果不是,则使用true打印该行
如果行中确实包含数字,还要检查它是否包含字母。如果是,请使用true打印该行
否则,打印错误
换句话说,您希望匹配仅包含字母和数字且至少包含一个字母的字符串。当以这种方式表达时,您可以直接将需求转换为正则表达式。你需要怎样的信?如何要求字符串仅包含某些字符?