javascript - 正则表达式拆分和匹配

标签 javascript regex

我正在学习如何使用正则表达式,并且对一些希望有人能够澄清的事情感到有点困惑,如果我使用以下字符串和表达式,我会得到匹配的预期结果,但如果我使用拆分,则完全相反。我不明白为什么用头撞墙?

var a = "212,0,,456,,0,67889";
var patt = /,\d{1,5},/gmi;

pos=a.match(patt);
alert(pos);// returns ,0, ,456, and ,0,

pos=a.split(patt);
alert(pos); //returns 212, and ,67889

最佳答案

拆分意味着,在字符串中查找模式的匹配项,并在每次看到匹配项时拆分该字符串。同时删除您找到的每个匹配项。

此链接有一些很好的示例: http://www.tizag.com/javascriptT/javascript-string-split.php

"~ split 函数使用分隔符来分解字符串。每次它看到我们指定的分隔符时,都会在数组中创建一个新元素。 split 函数的第一个参数是分隔符。” (分隔符就是模式)

示例一:

 <script type="text/javascript">
    var myString = "123456789";

    var mySplitResult = myString.split("5");

    document.write("The first element is " + mySplitResult[0]); 
    document.write("<br /> The second element is  " + mySplitResult[1]); 
    </script>

输出:

The first element is 1234
The second element is 6789

“请确保您意识到,因为我们选择 5 作为分隔符,所以它不在我们的结果中。这是因为分隔符已从字符串中删除,其余字符由 5 所形成的空格分隔开。用来占领。”

示例二:

<script type="text/javascript">
var myString = "zero one two three four";

var mySplitResult = myString.split(" ");

for(i = 0; i < mySplitResult.length; i++){
    document.write("<br /> Element " + i + " = " + mySplitResult[i]); 
}
</script>

输出:

Element 0 = zero
Element 1 = one
Element 2 = two
Element 3 = three
Element 4 = four

关于javascript - 正则表达式拆分和匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31194208/

相关文章:

java - 删除 String 中除某些符号之外的所有符号

css - Sublime Text 2 : How to reformat CSS to specific (non-standard) styles?

javascript - indexeddb从索引n到索引k获取数据

javascript - 将 php 文件输出存储在 javascript 变量中

javascript - 如何在 d3 树布局中仅显示特定节点级别

javascript - 正确的 UV 贴图 Three.js

javascript - require.js 中的显式依赖处理与隐式依赖处理

javascript - Javascript 所需的正则表达式指南

Javascript:匹配包含注释字符的整行

java - 匹配相似单词的最佳方式?