Skip to main content
 首页 » 编程设计

c#之用于提取此 HTML 文件的一部分的正则表达式

2024年02月02日27jillzhang

我有一个带有此脚本的 html 页面:

flashembed("header_container",  
{"src": "http://****.swf?__cv=3cfd4cc0ac1fad53803ff73629e93d00", 
"version": [8,0], 
"expressInstall": "http://****.swf?__cv=87411ea96ce42429f52b28683e7af400", 
"width": 860,"height": 229,"wmode": "opaque","id": "flashHeader", 
"onFail":  
function(){onFailFlashembed();}},  
{"cdn": "http://*****/","nosid": "1","lol": "89,04","isGuestUser": "", 
"navPoint": "1","eventItemEnabled": "", 
"supporturl":"indexInternal.es%3Faction%3Dsupport%26back%3DinternalStart", 
 
 
 
 
"***ouser***": "817", 
 
 
 
"serverdesc": "Italia 3","server_code": "1","lang": "it","coBrandImgUrl": "", 
"coBrandHref": "","customSkinURL": "","messaging": "1"}); 
 
hackEmailInviteDialog(); 
jQuery('#emailInviteCloseButton').click(function()  
{ 
..... 
} 

我需要从此页面中提取字段“用户”。我试过:

string pattern= @"""ouser"": "".*?,""serverdesc"""; 
string output = Regex.Replace(ConnectionAPI.responseFromServer, pattern, "");  

但在输出中有整个页面...

请您参考如下方法:

更新正则表达式以匹配第二对引号之间的任何内容,以防它们不总是数字。

Match match =  
    Regex.Match( 
        ConnectionAPI.responseFromServer,  
        "\"\\**?ouser\\**?":\\s*\"([^\"]*)\",", 
        RegexOptions.IgnoreCase); 
String output = String.Empty; 
// Here we check the Match instance. 
if (match.Success) 
{ 
    // Finally, we get the Group value and display it. 
    output = match.Groups[1].Value; 
    Console.WriteLine(output); 
}