簡體   English   中英

正則表達式在C#中匹配和拆分字符串

[英]Regex match and split string in C#

我有以下格式的ASCII文件:

[section heading]
paragraphs......

[section heading]
paragraphs......
...

注意:標題文本始終以某些特定模式括起來(例如,上例中的[ ]

我想將文件分成單獨的部分(每個部分都有標題內容 )。

解析以上文檔的最有效方法是什么?

使用Regex.Match()我可以提取標題,但不能提取后續文本內容。

使用Regex.Split()可以獲取內容,但不能獲取相關的標題。

是否可以將這兩個Regex方法結合使用來解析文檔? 是否有更好的方法可以達到相同目的?

嘗試這個:

string search = "\[([\w ]+)\]([^\[]*)";
foreach (Match match in Regex.Matches(yourtext, search))
    {
        string heading = match.Groups[1];
        string text = match.Groups[2];
    }

正則表達式同時捕獲標題段落。 多虧了捕獲組(在括號之間),您可以通過遍歷匹配項來提取它們。

(\[[^\]]*\])\n([\s\S]*?)(?=\n\[|$)

您可以試試看。獲取第1組和第2組的信息。

https://regex101.com/r/gU4aG0/1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM