c# 正則表達式 匹配中括弧&顏色過濾

来源:http://www.cnblogs.com/zhangtingzu/archive/2016/08/28/5814818.html
-Advertisement-
Play Games

現在需要匹配 [color=#000000],以"[color"開頭,以"[/color]"結束,中間字元數量不限制,最後返回所有匹配的下標。 代碼如下: ...


現在需要匹配 [color=#000000],以"[color"開頭,以"[/color]"結束,中間字元數量不限制,最後返回所有匹配的下標。

代碼如下:

 1         /// <summary>         
 2         /// 取得所有匹配項
 3         /// </summary>         
 4         /// <param name="source">原內容</param>         
 5         /// <returns>返回匹配列表的下標</returns>         
 6         public static int[] GetColorIndexGroup(string source)
 7         {
 8             // 定義正則表達式用來匹配  
 9             Regex reg = new Regex("\\[color.*?\\].*?\\[/color\\]", RegexOptions.IgnoreCase);
10 
11             //將匹配到的項替換為空
12             //var newSource = reg.Replace(source, "");
13 
14             // 搜索匹配的字元串             
15             MatchCollection matches = reg.Matches(source);
16 
17             int i = 0;
18             //存放下標
19             int[] colorIndexGroup = new int[matches.Count];
20             //存放匹配到的內容
21             string[] colorContentGroup = new string[matches.Count];
22 
23             // 取得匹配項列表             
24             foreach (Match match in matches)
25             {
26                 colorContentGroup[i] = match.Value;
27                 colorIndexGroup[i++] = match.Index;
28             }
29             return colorIndexGroup;
30         }

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 以往做nuget包我們一般要麼用命令行,要麼用nuget的圖形化界面去做,但是一些操作比較麻煩.比如引入命名空間,引入第三方nuget包。這些在.NET Core項目里卻很簡單,只需要使用命令行dotnet pack,在.NET Core系列 : 1、.NET Core 環境搭建和命令行CLI入門 ...
  • 域服務數據讀寫,有倆種模式 1、輕量級的數據讀取 2、DectoryEntry 可以獲取整個伺服器的數據,也可以修改其中的信息 參考類似文章: http://www.it165.net/pro/html/201308/6829.html ...
  • 1、提示框 分為提示、異常、失敗、成功幾種類型 方法: /// <summary> /// 彈出提示 /// 標題:提示 /// </summary> /// <param name="strContent">內容</param> public static void ShowInfoMessage ...
  • 程式生成的自定義文件,比如尾碼是.test 這種文件怎麼直接啟動打開程式,並打開本文件呢 1、雙擊打開 2、自定義的文件,有圖標顯示 3、自定義的文件,點擊右鍵有相應的屬性 後臺代碼:(如何在註冊表中修改信息) 在修改了註冊表信息後,雙擊文件是啟動了軟體,之後怎麼在代碼中操作? 然後可以在主程式lo ...
  • 上周遇到了一個非常詭異的坑,首先寫了兩個程式,第一個程式輸出成dll,第二個程式是控制台程式。 在第一個程式里,我使用了process去啟動第二個程式,同時傳入了一個Json作為參數,即: Process.Start(program2.exe, Jsonpara); 這個Jsonpara是將一個Li ...
  • 開發完成後,我們可以直接在Debug目錄下啟動exe,運行程式。 但是,要如何安裝,添加到開始菜單、桌面快捷方式、任務欄等。如Office安裝效果: 開始菜單: 快捷菜單: 打包步驟: 1、下載InstallShield安裝程式 官網下載地址:http://learn.flexerasoftware ...
  • 關鍵字RedisHelper,StackExchange.Redis,Redis幫助類 ...
  • 在很多項目裡面,對條形碼和二維碼的生成和列印也是一種很常見的操作,在Web項目裡面,我們可以利用JS生成條形碼和二維碼的組件有很多。本文引入兩個比較廣泛使用的JS組件,用來處理條形碼和二維碼的生成處理,並介紹如何利用CLODOP組件實現內容的列印輸出。生成條形碼使用組件JsBarcode,生成二維碼... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...