c# 用正则表达式提取字符

来源:百度知道 编辑:UC知道 时间:2024/05/17 20:48:49
04-13 13:48:14.720 - [TR]收到Inbound事件, 总个数:1563937, Port=268, ANI=1111111111, DNIS=0000000000
04-13 13:48:14.720 - [TR]处理Inbound事件, Port=268, 分配SLEE[10.105.239.200].
怎么用正则表达式提取出上面两行中的【04-13 13:48、1563937、268、1111111111、0000000000、10.105.239.200】
注意:两行都含有Port=268

<script type="text/javascript">
//<![CDATA[
function dataHandle(sOriginal, sJoin){
//sOriginal原始数据,sJoin原始数据中的分割符
var aOriginal = sOriginal.split(sJoin);
var aObject = [];
for(var i = 0; i < aOriginal.length; i++){
var re = /([\d| |\-|:]{14})\.\d{3,} \- .+?(总个数:\d+[,]? ?)?(Port=\d+[,]? ?)(ANI=\d+[,]? ?)?(DNIS=\d+[,]? ?)?(分配SLEE\[.+\]\.?)?/g;
re.test(aOriginal[i]);
var aTemp = [];
for(var j = 1; j <= 9; j++){
temp = String(eval("RegExp.$" + j));
if(temp != ""){
aTemp.push(temp);
}
}
var oTemp = {};
for(var k = 0; k < aTemp.length; k++){
if(aTemp[k].indexOf("-") != -1 && aTemp[k].indexOf(":") != -1){//根据特征判定
oTemp["time"] = aTemp[k];
}
if(aTemp[k].indexOf("总个数") != -1){
oTemp["counts"] = aTemp[k].replace("总