Web ページ情報を取得するための正規表現
声明:此正则表达式只适用于.net ,使用的流程为发送http请求返回整个html网页,然后从此html页面抓取想要的数据。
第一部分:发送httpWebRequest 请求
C#代码
//url 地址 HttpWebRequest request = (HttpWebRequest)WebRequest.Create("URL")); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); //浏览器类型设置 request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.0.3705; .NET CLR 1.1.4322)"; StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8")); //返回的html网页数据 String htmlStr = reader.ReadToEnd();
第二部分:根据返回的html获取有用数据,此方法适用于所有想通过ID或Class等等的标签找到html的需求,拿下面一个方法为例
C#代码
/// <summary> /// 获得颜色 /// </summary> /// <param name="htmlStr"></param> /// <returns></returns> public String getColor(String htmlStr) { //获取class为 DetailsC_Sku的html ,还可改为ID的方式 //string regstr6 = @"<(?<HtmlTag>[\w]+)[^>]*\s[iI][dD]=(?<Quote>"; string regstr6 = @"<(?<HtmlTag>[\w]+)[^>]*\s[cC][lL][aA][sS][sS]=(?<Quote>"; string regstr7 = "[\"']?)DetailsC_Sku(?(Quote)"; string regstr8 = @"\k<Quote>)"; string regstr9 = "[\"']?[^>]*>"; string regstr10 = @"((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|.*?)*</\k<HtmlTag>>"; StringBuilder sb2 = new StringBuilder(); sb2.Append(regstr6); sb2.Append(regstr7); sb2.Append(regstr8); sb2.Append(regstr9); sb2.Append(regstr10); //根据正则表达式获取的html String sizeHtml = Regex.Match(htmlStr, sb2.ToString(), RegexOptions.Singleline).ToString(); if (!String.IsNullOrEmpty(sizeHtml)) { String newhtml = htmlStr.Replace(sizeHtml, ""); string regstr11 = @"<(?<HtmlTag>[\w]+)[^>]*\s[cC][lL][aA][sS][sS]=(?<Quote>"; string regstr12 = "[\"']?)DetailsC_Sku(?(Quote)"; string regstr13 = @"\k<Quote>)"; string regstr14 = "[\"']?[^>]*>"; string regstr15 = @"((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|.*?)*</\k<HtmlTag>>"; StringBuilder sb3 = new StringBuilder(); sb3.Append(regstr11); sb3.Append(regstr12); sb3.Append(regstr13); sb3.Append(regstr14); sb3.Append(regstr15); String colorHtml = Regex.Match(newhtml, sb3.ToString(), RegexOptions.Singleline).ToString(); if (String.IsNullOrEmpty(colorHtml)) return ""; //找出此colorHtml中的所有a 标签 Regex regex2 = new Regex(@"<a.*?>[\s\S]*?<\/a>"); MatchCollection mc2 = regex2.Matches(colorHtml); StringBuilder sbs = new StringBuilder(); //循环找到颜色 if (mc2.Count > 0) { foreach (Match mm in mc2) { sbs.Append(RemoveHtml(mm.Value.ToString())).Append(","); } } return sbs.ToString(); } return ""; }
C#代码
/// <summary> /// 替换字符串中的html标签为空返回标签里的内容 /// </summary> /// <param name="src"></param> /// <returns></returns> public string RemoveHtml(string src) { Regex htmlReg = new Regex(@"<[^>]+>", RegexOptions.Compiled | RegexOptions.IgnoreCase); Regex htmlSpaceReg = new Regex("\\ \\;", RegexOptions.Compiled | RegexOptions.IgnoreCase); Regex spaceReg = new Regex("\\s{2,}|\\ \\;", RegexOptions.Compiled | RegexOptions.IgnoreCase); Regex styleReg = new Regex(@"<style(.*?)</style>", RegexOptions.Compiled | RegexOptions.IgnoreCase); Regex scriptReg = new Regex(@"<script(.*?)</script>", RegexOptions.Compiled | RegexOptions.IgnoreCase); src = styleReg.Replace(src, string.Empty); src = scriptReg.Replace(src, string.Empty); src = htmlReg.Replace(src, string.Empty); src = htmlSpaceReg.Replace(src, " "); src = spaceReg.Replace(src, " "); return src.Trim(); }

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 正規表現の検証: 数値形式の検出 PHP プログラムを作成する場合、ユーザーが入力したデータを検証する必要がよくあります。一般的な検証の 1 つは、データが指定された数値形式に準拠しているかどうかを確認することです。 PHP では、正規表現を使用してこの種の検証を行うことができます。この記事では、PHP 正規表現を使用して数値形式を検証する方法を紹介し、具体的なコード例を示します。まず、一般的な数値形式の検証要件を見てみましょう。 整数: 0 ~ 9 の数字のみが含まれ、プラスまたはマイナス記号で始めることができ、小数点は含まれません。浮動小数点

正規表現を使用して Golang で電子メール アドレスを検証するには、次の手順に従います。 regexp.MustCompile を使用して、有効な電子メール アドレス形式と一致する正規表現パターンを作成します。 MatchString 関数を使用して、文字列がパターンと一致するかどうかを確認します。このパターンは、次のようなほとんどの有効な電子メール アドレス形式をカバーします。 ローカル ユーザー名には文字、数字、および特殊文字を含めることができます: !.#$%&'*+/=?^_{|}~-` ドメイン名には少なくとも次の文字が含まれている必要があります。 1 文字の後に文字、数字、またはハイフンを続けます。トップレベル ドメイン (TLD) は 63 文字を超えることはできません。

Go では、正規表現を使用してタイムスタンプを照合できます。ISO8601 タイムスタンプの照合に使用されるような正規表現文字列をコンパイルします。 ^\d{4}-\d{2}-\d{2}T \d{ 2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ 。 regexp.MatchString 関数を使用して、文字列が正規表現と一致するかどうかを確認します。

最新のプログラミング言語として、Go 言語は強力な正規表現と文字列処理関数を提供し、開発者が文字列データをより効率的に処理できるようにします。開発者にとって、Go 言語での正規表現と文字列処理を習得することは非常に重要です。この記事では、Go 言語の正規表現の基本概念と使い方、Go 言語を使用して文字列を処理する方法を詳しく紹介します。 1. 正規表現 正規表現は文字列のパターンを記述するためのツールであり、文字列の照合、検索、置換などの操作を簡単に実装できます。

PHP 正規表現: 完全一致と除外 ファジー包含正規表現は、プログラマがテキストを処理する際に効率的な検索、置換、フィルタリングを実行できる強力なテキスト マッチング ツールです。 PHP では、正規表現は文字列処理やデータ マッチングにも広く使用されています。この記事では、PHP で完全一致を実行し、あいまい包含操作を除外する方法に焦点を当て、具体的なコード例を使用して説明します。完全一致 完全一致とは、バリエーションや余分な単語ではなく、正確な条件を満たす文字列のみと一致することを意味します。

Go で正規表現を使用してパスワードを検証する方法は次のとおりです。 パスワードの最小要件 (小文字、大文字、数字、特殊文字を含む少なくとも 8 文字) を満たす正規表現パターンを定義します。 regexp パッケージの MustCompile 関数を使用して正規表現パターンをコンパイルします。 MatchString メソッドを使用して、入力文字列が正規表現パターンと一致するかどうかをテストします。

PHP は広く使用されているプログラミング言語であり、特に Web 開発の分野で人気があります。 Web開発の過程では、ユーザーが入力したテキストをフィルタリングして検証する必要がよくありますが、その中でも文字フィルタリングは非常に重要な操作です。この記事では、PHP で正規表現を使用して漢字フィルタリングを実装する方法と、具体的なコード例を紹介します。まず最初に、Unicode の漢字の範囲は u4e00 から u9fa5 までである、つまりすべての漢字がこの範囲内にあることを明確にする必要があります。

正規表現のワイルドカードには、「.」、「*」、「+」、「?」、「^」、「$」、「[]」、「[^]」、「[a-z]」、「[A-Z]」が含まれます。 、"[0-9]"、"\d"、"\D"、"\w"、"\W"、"\s&quo
