c# - 无法在两个单词之间匹配 C# 中的多行字符串
问题描述
我正在尝试将BEGIN和END之间的内容匹配到一个名为numbers的捕获组中,来自该字符串note:
string note = @"BEGIN
781-222-3311
9789001122
7817770000 to 7817770010
END";
我将匹配组值放入的变量是numbers。我用来匹配字符串的内容如下:
string numbers = "";
Regex numberEncapsulationRegex = new Regex(@"begin\n(?<numbers>.+)\nend", RegexOptions.IgnoreCase);
Match numberCatch = numberEncapsulationRegex.Match(note);
if (numberCatch.Success)
{
Console.WriteLine("SUCCESS: \n");
numbers += numberCatch.Groups["numbers"].Value;
}
我曾尝试将 RegexOptions.Multiline 与 RegexOptions.IgnoreCase 一起使用,并且还尝试过使用:
(?i:begin)\n(?<numbers\>.+)\n(?i:end)
(?i:begin)(\n?<numbers>.+\n)(?i:end)
(?<=BEGIN)(.*)(?=END)
无法使其正常工作。感谢您的阅读和帮助,如果愿意的话。
解决方案
推荐阅读
- c# - 为什么在此 LINQ 查询中销毁后使用 db 上下文?
- mongodb - 将服务器上运行的 Mongodb Docker 容器连接到我计算机上的 Robo 3t
- regex - 如何在 Google 表格中删除文本并切换逗号和句点的位置
- angular - ion-tab 的导航和缓存问题
- animation - SwiftUI 中的动画日期变化
- r - 如何根据另一个数据框中的值对数据框进行子集化?
- javascript - 如何使用 node.js 踢出不和谐的用户
- python - 如何在 Pandas 中引用由 .agg() 函数创建的列
- scipy - scipy nquad 带参数
- c++ - 使用 qt 自定义排序规则创建 sqlite 期间的段错误