使用Regex提取所有模式
本文关键字:模式 提取 Regex 使用 | 更新日期: 2023-09-27 17:49:22
我正在从一个特定的字符串中实现模式提取。该模式应该以Column((表示Excel数据输入中的特定列)或Cell((表示Excel数据输入中的特定单元格)开始。
- 输入字符串= "列(F)/100 +单元格(B,2)/10"
- 期望输出:列(F),单元格(B,2)。
源代码:
List<string> result = new List<string>();
Regex patternParser = new Regex(@"(?:Column'()'S+').+?|(?:Cell'()'S+').+?", RegexOptions.Compiled | RegexOptions.IgnoreCase);
foreach (Match m in patternParser.Matches(VarEval))
{
result.Add(m.Value);
}
我得到了结果:列(F)/和单元格(B,2)/。
'b(?:Column|Cell)'b'(.*?')
您可以简单地这样做。看到演示。
https://regex101.com/r/mT0iE7/26(?i)(?:Column|Cell)'([^()]+?')
List<string> result = Regex.Matches("Column(F)/100 + Cell(B,2)/10",
@"(?i)(?:Column|Cell)'([^()]+?')")
.Cast<Match>()
.Select(m=>m.Value)
.ToList();