读书人

求正则式提取数据。解决思路

发布时间: 2013-07-04 11:45:40 作者: rapoo

求正则式提取数据。

                                                  正则                                              
[解决办法]
 string tempStr = File.ReadAllText(@"C:\Users\myx\Desktop\Test.txt", Encoding.GetEncoding("GB2312"));//读取txt


var _list = Regex.Matches(tempStr, @"(?i)(?<=<div[^>]*?class=(['""]?)dTrans cl(['""]?)[^>]*?>((?!</div>)[\s\S])*?)<p[^>]*?><span[^>]*?>(?<V1>[^<>]*?)</span>\s*?<span[^>]*?>(?<V2>[^<>]*?)</span>\s*?</p>").Cast<Match>().Select(a =>
{
string unicode_str = string.Empty;
MatchCollection mc = Regex.Matches(a.Groups["V2"].Value, @"u([\w]{2})([\w]{2})", RegexOptions.Compiled
[解决办法]
RegexOptions.IgnoreCase);
byte[] bts = new byte[2];
foreach (Match m in mc)
{
bts[0] = (byte)int.Parse(m.Groups[2].Value, NumberStyles.HexNumber);
bts[1] = (byte)int.Parse(m.Groups[1].Value, NumberStyles.HexNumber);
unicode_str += Encoding.Unicode.GetString(bts);


}
return a.Groups["V1"].Value + unicode_str;
}).ToList();

/*
[0]"n.试验;考验;测验;化验;"string
[1]"vt.测验;考查;考验;勘探;"string
[2]"vi.受试验;受测验;受考验;测得结果;"string


*/


[解决办法]

private string stripHtml(string strHtml)
{
Regex reg = new Regex("<(.
[解决办法]
\n)+?>");
string result = reg.Replace(strHtml, "");
return result;
}

读书人网 >C#

热点推荐