bwin2299必赢亚洲世界顶级公司如何用正则匹配连续重复的字符串片段?

2016/12 01 09:12
此文章不得转载,如有需要请联系网站管理员。

一度的温暖,一百度的爱情,来自于bwin2299必赢亚洲世界顶级公司的点点滴滴

有一个字符串,里面都是用,(逗号)隔开的数字,只要一个数字呈现了1次,其他统统数字都呈现了2次。我怎样经过正则婚配或许交换的方法,提取出这个只呈现过1次的数字。
比方:
1.var一个字符串str和正则表达式re

  var str = 112,112,1,1,3,3,234,234,4,22,22;
  var re;

2.怎样经过正则婚配或许交换,改动str的值为4

  str = str.matchre;
  或许
  str = str.replacere,;//想让str值为4

正则婚配需求视实际情况而定,比如说:

var pattern1 = /\d+?!,$/g;
var pattern2 = /\d+$/g;
var str = 112,112,1,1,3,3,234,234,4;
console.logstr.matchpattern2;  //["4"]
或许直接如许:
str.replace/\d+,/g, ;  //4

变动标题后:
假如说其他统统数字都呈现了2次都是挨着的,楼下的写法OK。
str += ,;
str.replace/d+,1+/g, .replace/,$/, ;
假如不挨着,就不行,那就先处理下
var arr = str.split,;
arr.sort;
str = arr.join,;
str += ,;
str.replace/d+,1+/g, .replace/,$/, ;

我这个总结大约能帮到一下:
js正则表达式

var str = 112,112,1,1,3,3,234,234,4,22,22;
str += ,;
var result = str.replace/\d+\,\1+/g, ; // 婚配连续多个ddd,
console.logresult; // 4,
result = result.replace/\,$/, ; // 去失扫尾,
console.logresult; // 4

var str = 112,112,1,1,3,3,234,234,4,22,22;
var re=/.*?,\1/g;
console.logstr.replacere, ;

str += ,;
str.replace/d+,\1+/g, .replace/,$/, ;

第一个题目:提取出只呈现过 1 次的数字

112,112,1,1,3,3,234,234,4,22,223.replace/\d{3},|$/g, functione {

    // 这里我只判别了此中一种情况(第一个数与第二个数相称,但第三个数纷比方样时)以作树范
    if e[0] === e[1] {
        if e[0] !== e[2] {
            if e[3] === "," {
                return e[0] + e[1] + "" + e[2] + "" + e[3];
            } else {
                return e[0] + e[1] + "" + e[2] + "";
            }
        }
    }

    return e;
};

result:112,112,1,1,3,3,234,234,4,22,223

第二个题目:改动 str 的值为4

str.replace/.*/, "4";

假如是先提取 4,再改动的话,下面曾经有答案了。

正则并不同适作如许的事~,还是用循环吧~~

var str = 8,999,112,112,1,88,1,3,3,88,234,234,4,22,999,22;
var arr = str.split,;
var d = {};
forx in arr{d[arr[x]]=d[arr[x]] ? d[arr[x]]+1 : 1;}
arr=[];
forx in d{if d[x]==1{arr.pushx;}}
console.logarr;
["4", "8"]

(看完/读完)这篇文章有何感想! 来看看bwin2299必赢亚洲世界顶级公司是怎么评论的吧!

--转载请注明: bwin2299必赢亚洲_www.bwin2299.com_bwin2299必赢亚洲世界顶级公司 » bwin2299必赢亚洲世界顶级公司如何用正则匹配连续重复的字符串片段?

发表评论

(必填)