需要帮助为此方案创建正则表达式

本文关键字:方案 创建 正则表达式 帮助 | 更新日期: 2023-09-27 18:35:03

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

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] 是整条线
  • 组[1]是第一个字母(例如A(
  • 组[2]是第一个选项(例如,这是选项a(
  • 组[3]是第二个字母(例如C(
  • 组[4]是第二个选项(例如,这是选项c(

试一试:

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

将为您提供类似A. This is option a的结果,然后您可以解析这些结果以获取选项字母和生成的文本。您可能还希望从带有.Trim()的行中删除尾随空格