var itemdata = "OrderFilter=0&ProjectTag=15&DateType=0";var projectTag = itemdata.replace(/.*projecttag=([\d]+).*/gi, "$1");
重点就是第二行,用匹配到的括号里的值替换整个文本。
如果用传统方法,肯定要先split"&"符号,再split"="符号,然后再取值。
这样多好,就一行代码,如果说正则效率不高或有问题,还可以优化。
重要的是这种思路和技巧。此方法仅供参考,具体怎么写,要根据自己的url的querystring而定。
另外提供一个contains的方法
//自定义contains方法
Array.prototype.contains = function(obj) {var i = this.length;while (i--) {if (this[i] ==obj) {return true;
}
}return false;
}var projectTags = [1,2,15,14,9,8,3,11,13,16,5,4,6,7];
var isInProjectTags = projectTags.contains(15);
.net可以这么写:
var str = "asjdflaksj*18688888888*asdf";var result = Regex.Replace(str, @"(1[\d]{10})", "$1");//拨号
java可以这么写:
String str = "asdfadf;TKK='427735.4060570411';sdfasfd";
String result= str.replaceAll(".*TKK='(.*)';.*", "$1");//提取TKK的值
-----------------------------------------------------------------------------------------------------------
需求:提取下面括号里面的英文字符
var str = "繁体中文(zh-tw)";
var text = str.replace(/.*\((.*)\)/, "$1");
需求:提取红色内容,
的个数不固定
sssssssssssssssssss
|
a
b
c
a
b
c
ddddddddddddd