Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式:仅匹配字母或字母与数字_Regex - Fatal编程技术网

Regex 正则表达式:仅匹配字母或字母与数字

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 " --

如何创建只匹配字母或字母与数字的正则表达式? 我试过这样的方法:[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 " --> 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打印该行 否则,打印错误
换句话说,您希望匹配仅包含字母和数字且至少包含一个字母的字符串。当以这种方式表达时,您可以直接将需求转换为正则表达式。你需要怎样的信?如何要求字符串仅包含某些字符?