簡體   English   中英

在為此方案創建正則表達式時需要幫助

[英]Need Help in Creating a Regular Expression for this Scenario

我需要從遵循特定格式布局的文本行中解析一些信息。 這是文本文件的外觀示例:

A. This is option a              C. This is option c
B. This is option b              D. This is option d

最終,我想要的是解析完上述兩行之后,在C#代碼中添加以下代碼:

string OptionA = "This is option a";
string OptionB = "This is option b";
string OptionC = "This is option c";
string OptionD = "This is option d";

A.和C.(或B.和D.)之間的空格可以是制表符(\\ t)或隨機數的空白。 單步執行代碼並讀取該行時,其外觀如下:

"A.\tThis is option a\tC. This is option c"

或可能看起來像這樣

"A.\tThis is option a        C. This is option c"

我可能需要一些幫助,以便根據“ \\ t”或多個以“ C”開頭的空格來分隔此行。 與上述示例相同。

任何輸入將不勝感激。

以下正則表達式應該做到這一點,

@"^([A-Z])[.](.+[^\s])\s+([A-Z])[.](.+)$"

每行的位置

  • 組[0]是整行
  • Groups [1]是第一個字母(例如A)
  • Groups [2]是第一個選項(例如,這是選項a)
  • Groups [3]是第二個字母(例如C)
  • Groups [4]是第二個選項(例如,這是選項c)

旋轉一下:

[A-Z]\..*((\s){2,}|\t)
[a-zA-Z][.]\s[\w\s]*\s

將給您類似A. This is option a結果A. This is option a ,您可以對其進行解析以獲取選項字母和結果文本。 您可能還想使用.Trim()從行中刪除尾隨空格。

暫無
暫無

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

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