VB.net正则表达式抓住字符串之间的每一行

时间:2014-10-31 12:25:22

标签: regex vb.net

尝试使用Vb.net

在Visual Basic中使用Regex解析文本文件

这是一个示例文本:

  

start_Word

     

vwfedvnrflevn,$%^£$

     

vfrvnrlwivtn,$%435

     

wrvrtovrv,vorfewnvoew%T%$二四四五六四五

     

------------ ++++++++++++ ==========

     

last_Word

所以我试图在Start_word和Last_Word之间的所有行中抓取一个字符串

这就是我所拥有的:

Dim block As Match = Regex.Match(string, (?s)start_Word(.*?)last_Word, RegexOptions.Multiline)

console.writeline(block.value)

我不能工作,如何在VB.Net中使Dotall和Multiline工作

2 个答案:

答案 0 :(得分:0)

你可以在vb.net中的lookbehinds中使用量词。

(?s)(?<=start_Word[^\n]*\n).*?(?=\n\s*last_Word)

答案 1 :(得分:0)

尝试环顾四周并[\w\W]*?匹配多行

(?<=^start_Word)\r?\n[\w\W]*?\r?\n(?=last_Word$)

Online demo

此处^用于行/字符串的开头,$用于行/字符串的结尾。

您也可以使用[\d\D]代替[\w\W]