【发布时间】:2016-10-23 09:59:26
【问题描述】:
这是我的 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 并按下一个字母排序,因此结果将如下所示: (2x蓝色;2x蓝色;3x橙色;1x橙色;1x红色;1x红色;1x红色;3x红色;......)
$( 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);
这是我到目前为止得到的,它显示匹配并对它们进行排序,但只是按我想忽略的前面女巫的数字,请帮助
【问题讨论】:
标签: javascript regex sorting pattern-matching alphabetical