需要帮助为此方案创建正则表达式
本文关键字:方案 创建 正则表达式 帮助 | 更新日期: 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()
的行中删除尾随空格