當前位置:
首頁 > 知識 > C井處理html 標籤一些正則表達式 整理收集

C井處理html 標籤一些正則表達式 整理收集

1:取得A 標籤中的內容或者 url title

<a href="javascript:open_window("http://xx/F/F987K71CHH3JEBIG788IQ2BTRSULYAIY2PFXEXGBB7Q5614QM1-05893?func=service&doc_number=007838178&line_number=0011&service_type=TAG");">島上書店 [專著] = The storied life of A.J.Fikry</a>

(?is)<as+href=([""])(?:(?![<>]|1).)+1>(?<text>(?:(?!</?a).)+)

(?is)(?<=<as+href=[^>]+>)((?!</?a).)+

<as*[^>]*>([sS]+?)</a>

@"(?is)<a[^>]*?id=""rptData_lnkQuerySub_0""[^>]*?>([sS].*?)</a>"

//替換掉A標籤

var billno = Regex.Replace(item.WorldexSinotrans[1], @"<a(?:(?!href=).)*href=(["""]?)(?<url>[^"""s>]*)1[^>]*>(?<text>(?:(?!</a>).)*)</a>", "", RegexOptions.None);

var repA = Regex.Matches(repImg, @"<As*[^>]*>([sS]+?)</A>")

.Cast<Match>().Select(mx => mx.Groups[0].Value.Trim().TrimStart().TrimEnd()).ToList();//Groups根據情況取0/1

2:替換 html 中有img情況

<img alt="Link" src="http://xxx/exlibris/aleph/u20_1/alephe/www_f_chi/icon/f-separator.gif" border="0">

var repImg = Regex.Replace(value[0].ToString(), @"<imgs+[^>]*s*srcs*=s*(["]?)(?<url>S+)"?[^>]*>", "", RegexOptions.None);

3:取得form 中的url action 等值

<form method=get name=form1 action="http://xxx/F/7I82M4CLHLI12T96I5C26VMVRFAGUTHS2181BYCG6TLYDRPHHR-17822" onsubmit="return presearch(this);">

var resultAction = Regex.Matches(GetReturnHtml(Url), @"<form method=get name=form1s*[^>]*action=""([sS]+?)""[^>]*?>") //@"<form method=get name=form1s*[^>]*action=""([sS]+?)"">.*</form>").Cast<Match>().Select(mx => mx.Groups[1].Value.TrimStart().TrimEnd()).ToList();

4:直接獲取table下面所有的tr td

<table id="td" width="90%" stylex="margin:0 auto;" border="0" cellspacing="2">

<tr>

<td stylex="background:#fff;" class=td1 align=left >

20160530d2016 em y0chiy50 ea

</td> </tr></table>

var tableid = @"id=""td""";

Regex reg = new Regex("(?is)(?<=<table[^>]*?" + tableid + "[^>]*?>(?:(?!</?table).)*)(?is)<tr[^>]*?>(?:\s*<td[^>]*?class=td1[^>]*?>(.*?)</td>)*\s*</tr>");

@"(?is)<table[^>]*?" + regexTableParm + "[^>]*?>([\s\S].*?)</table>"

5:直接獲取tr 裡面的內容

var compare = Regex.Match(mTable.Value, "(?is)<tr " + classParm + ">(?:\s*<td[^>]*>(.*?)</td>)*\s*((?!</tr>).)*").Groups[0].Value.Trim();//.Groups[1].Value.Trim();

6:直接獲取td 裡面的內容

<td stylex="background:#fff;" class=td1 align=left >

20160530d2016 em y0chiy50 ea

</td>

var value = Regex.Matches(m.Value, @"(?<=<td[^>]*?class=td1 align=left[^>]*?>)([sS]+?)(?=</td>)")

.Cast<Match>().Select(mx => mx.Groups[0].Value.Trim().TrimStart().TrimEnd()).ToList();

//(s+scope=[^>]+)?(s+class=[^>]+)?>) 匹配td 裡面內容class

var td = Regex.Matches(m.Value, @"(?<=<td(s+scope=[^>]+)?(s+class=[^>]+)?>)([sS]+?)(?=</td>)")// @"(?<=<td>)
s+[sS]*?
s+(?=</td>)")

.Cast<Match>().Select(mx => mx.Groups[0].Value.Trim().TrimStart().TrimEnd()).ToList();

@"(?is)(?<=<td(s+align=[^>]+)?>).*?(?=s*</td)"

@"(?is)(?<=<td(s+class=[^>]+)?>).*?(?=s*</td)"

7:裡面有font字體的

var td = Regex.Matches(m.Value, @"(?<=<font(s+color=[^>]+)?>).*?(?=</font>)").Cast<Match>().Select(mx => mx.Groups[0].Value).ToList();

8:獲取html頁面中隱藏hidden

var result = Regex.Matches(response.Content.ReadAsStringAsync().Result, @"<input type=""hidden""[^>]*?.*?/>")

.Cast<Match>().Select(mx => mx.Groups[0].Value.TrimStart().TrimEnd()).ToList();

/獲取 隱藏域中的 id value

//var reg = @"(?isn)<input((?!([<>]|id=)).)+id=""(?<id>[^""<>]+)""[^<>]*?value=""(?<value>[^<>""]*)""";

// var keyvalue = Regex.Match(item, reg);

//returnHidden.Add(keyvalue.Groups[1].Value, keyvalue.Groups[2].Value);

var key = Regex.Match(item, @"<input type=""hidden""[^>]*?[^>]+?id=""([sS]+?)""[^>]+>").Groups[1].Value;

var value = Regex.Match(item, @"<input type=""hidden""[^>]*?[^>]+?value=""([sS]+?)""[^>]+>").Groups[1].Value;

9:獲取html頁面中 body裡面的內容

var resultStr = Regex.Matches(DelHTML(retString), @"(?is)<body[^>]*?>([sS].*?)</body>")

.Cast<Match>().Select(mx => mx.Groups[0].Value.TrimStart().TrimEnd()).ToList();

C井處理html 標籤一些正則表達式 整理收集

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

分散式環境session共享
Spring入門helloSpring

TAG:程序員小新人學習 |