按字母顺序排列正则表达式匹配

时间:2016-10-23 09:59:26

标签: javascript regex sorting pattern-matching alphabetical

这是我的HTML

<div id="all">3xOrange;2xBlue;1xRed;1xRed;1xRed;1xOrange;2xBlue;3xRed;1xBlue;1xRed;2xBlue;3xRed;1xBlue;1xRed;2xBlue;3xRed;1xBlue;1xRed;2xBlue;3xRed;1xBlue;1xRed;2xOrange;3xRed;1xBlue;1xRed;2xBlue;3xRed;1xBlue;1xRed;20xBlue;33xRed;20xBlue;33xRed;2xBlue;3xRed;51xBlue;51xRed;</div>

我的目标是显示正则表达式匹配并按字母顺序对结果进行排序,但我的正则表达式匹配以数字和x开头,排序应忽略/\d+x并按下一个排序进行排序,结果将如下所示:< EM>(2xBlue; 2xBlue; 3xOrange; 1xOrange; 1xRed; 1xRed; 1xRed; 3xRed; ......)

$( document ).ready(function() {
  var words = document.body.textContent || document.body.innerText,
    matches = words.match(/\d+x[^;]*;/g);

   function strDes(a, b) {
       if (a>b) return -1;
       else if (a<b) return 1;
       else return 0;
     }
     var a2=matches;
     a2.sort(strDes);
$('#myDiv').text(a2).html(a2);

这是我到目前为止所得到的,它对比赛进行了分类并对它们进行排序,但仅仅通过我想忽略的前面数字,请帮助

1 个答案:

答案 0 :(得分:0)

这样做了诀窍,现在工作正常:)

tellg()