正则表达式以匹配多行变量?假设我有以下文本,我想提取“NumberBegins”和“NumberEnd”之间的文本,其中有一个动态的行数和唯一数字会发生变化,例如:第一,第二等,我将从中提取每个数据文件的“NumberStart”和“NumberEnd”之间的行数不同。在不知道文件中数字开始和“结束数字”之间有多少行的情况下,如何编写正则表达式来匹配“数字开始”和“数字结束”之间的内容?问候!这是第一行这是第二行数字开始这是第一行这是第二行这是第三行这是......行这是第九行数字结束你应该使用SingleLine该模式告诉您的C#regex。匹配任何字符(除n之外的任何字符)。varregex=newRegex("数字开始(.*)数字结束",RegexOptions.IgnoreCase|RegexOptions.Singleline);您应该能够毫无问题地匹配多行字符串。请记住在(n代表新行)中添加正确的字符。stringpattern="数字开始(.|n)*数字结束";匹配m=Regex.Matches(输入,模式);如果您能想到带有隐藏字符的字符串,这会更容易。数字的开始nnThisisthefirstlinenThisisthesecondlinen...像这样:^(start)([SndW]*)(end)$你得到第二行的地方。如果愿意,您甚至可以为群组命名。所以重点是你在一个字符串中读取整个东西,然后从中得到正则表达式结果。编辑:不得不编辑一下。如果您的匹配项可以位于中间某处,则删除开始(^)和结束($)字符。(start)([SndW]*)(end)并注意这将只留下你想要的行。然后处理线条。/(?需要开启dotall标志。http://regexr.com?30oaj以上是C#学习教程:正则表达式匹配变量多行?所有内容分享,如果对大家有用需要了解更多关于C#的学习教程,希望大家多多关注---本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除,如有转载请注明出处:
