+ -
当前位置:首页 → 问答吧 → 中文表达式的匹配?

中文表达式的匹配?

时间:2011-12-14

来源:互联网

搜索到的一组文件名存入数组,对这个数组中的文件名进行匹配,匹配出文件开头中文部分相同的两个文件,

作者: czhongzheng   发布时间: 2011-12-14

算法很烂HTML code
<script>
function BubbleSort(arr) { //交换排序->冒泡排序
  var st = new Date();
  var temp;
  var exchange;
  for(var i=0; i<arr.length; i++) {
   exchange = false;
   for(var j=arr.length-2; j>=i; j--) {
    if((arr[j+1]) < (arr[j])) {
     temp = arr[j+1];
     arr[j+1] = arr[j];
     arr[j] = temp;
     exchange = true;
    }
   }
   if(!exchange) break;
  }
  status = (new Date() - st) + ' ms';
  return arr;
 }


var fn = ["文中a2","中文11","englisgh22","中文33","中文aa","中文3s"];
var rfn = BubbleSort(fn);
var result = new Array();
for(var i=0;i<rfn.length-1;i++){
    var r1 = rfn[i].match(/^[\u4e00-\u9fa5]+/);
    var r2 = rfn[i+1].match(/^[\u4e00-\u9fa5]+/);
    if( r1 && r2){
        if(r1[0] == r2[0]){
            result.push(rfn[i]);
            result.push(rfn[i+1]);
            i++;
        }
    }
}
alert(result);
</script>

作者: p2227   发布时间: 2011-12-14

JScript code

var fn = ["文中a2", "中文11", "englisgh22", "中文33", "中文aa", "中文3s"]; 
var result = new Array();
for (var i = 0; i < fn.length; i++) {
    for (var k = 0; k < fn.length; k++) {
        if (k != i) {
            var r1 = fn[i].match(/^[\u4e00-\u9fa5]+/);
            var r2 = fn[k].match(/^[\u4e00-\u9fa5]+/);
            if (r1 && r2) {
                if (r1[0] == r2[0]) {
                    result.push(fn[i]);
                    break;
                }
            }
        }
    }
}
alert(result);

作者: oggmm   发布时间: 2011-12-14