我不确定为什么这段代码不起作用,在我找到代码的网站上,它说应该打印大写字母a到z之间的任何字母。我用数字尝试了同样的事情,打印0到9之间的数字,但它不起作用。
<!DOCTYPE html>
<html>
<body>
<script>
var string = "THIS IS AN EXAMPLE";
var str = /[A-Z]/;
document.write(string.match(str));
</script>
</body>
</html>
答案 0 :(得分:3)
编辑:
在澄清问题后更新
<script>
var string = "1 2 3 4 8 9 11 15 18 293";
var str = /[0-9]*/g;
var arr = string.match(str);
var length = arr.length;
for (var i = 0; i < length; i++) {
if ( parseInt(arr[i]) <= 9 && parseInt(arr[i]) >= 1){
document.write(arr[i] + " ");
}
}
</script>
你告诉javascript要做的只是打印匹配你的正则表达式的结果数组中的第一个字符。你还没有考虑正则表达式中的“空格”字符
据我所知,这是你想要完成的事情 - 但如果这是不正确的,请澄清你想要达到的结果。
的 take a look at this fiddle 强> 的
<script>
var string = "THIS IS AN EXAMPLE";
var str = /[A-Z ]*/;
document.write(string.match(str));
</script>
请注意我如何使用/[A-Z ]*/
包括匹配集中的空格字符以及星号,以表示匹配任意数量的这些字符。如果你试图只匹配第一个单词并停在空格处,只需删除它。
在任何一种情况下
如果您决定想参加'手册'