正则表达式在javascript中有帮助

Regular expressions help in javascript?

本文关键字:有帮助 javascript 正则表达式      更新时间:2023-09-26

我不确定为什么这个代码不工作,在我发现代码的网站上,它说它应该打印大写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>

EDIT:

在澄清问题后更新

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

new fiddle here


你告诉javascript做的是只打印匹配你的正则表达式的结果数组中的第一个字符。您还没有考虑正则表达式

中的"空格"字符。

据我所知,这就是你想要达到的目标——但如果这是不正确的,请澄清你想要达到的结果。

看看这个小提琴

 <script>
 var string = "THIS IS AN EXAMPLE";
 var str = /[A-Z ]*/;
 document.write(string.match(str));
 </script>

注意我如何使用/[A-Z ]*/

包括匹配集中的空格字符以及表示匹配任意数量的这些字符的星号。如果您试图只匹配第一个单词并停在空格处,只需删除它。

这是一篇来自mozilla开发者网络的很棒的文章,它解释了正则表达式的所有优点——特别是它在javascript中的使用

如果你决定你想看一下"手册"