Regex 使用换行符和换行符重复正则表达式模式
如何获取具有换行符(vbNewLine、vblf、vbcrlf等)和换行符的字符串。以下内容似乎只是检索“第一行文本”Regex 使用换行符和换行符重复正则表达式模式,regex,vb.net,visual-studio-2010,Regex,Vb.net,Visual Studio 2010,如何获取具有换行符(vbNewLine、vblf、vbcrlf等)和换行符的字符串。以下内容似乎只是检索“第一行文本” 预期结果:search=“第一行文本。第二行文本。第三行文本。”查看RegexOptions“RegexOptions.MultiLine”。它应该是Regex对象的第二个参数,如下所示: rx = New Regex(".*[\n\r]", RegexOptions.MultiLine) 我想那就行了。 如果只是用空格替换换行符,那么函数字符串.replace也就足够了。要
预期结果:search=“第一行文本。第二行文本。第三行文本。”查看RegexOptions“RegexOptions.MultiLine”。它应该是Regex对象的第二个参数,如下所示:
rx = New Regex(".*[\n\r]", RegexOptions.MultiLine)
我想那就行了。
如果只是用空格替换换行符,那么函数字符串.replace也就足够了。要用正则表达式匹配多行模式,必须使用singleline选项。它修改点行为,以便捕获每个字符,包括换行符
rx = New Regex("(?s).*")
链接到msdn。要获得不仅仅是第一个匹配,请使用
rx.Matches(var1)
。在此之后,您可以迭代集合
但是请注意,您的正则表达式有一个错误:最后一行不会匹配,因为后面没有换行符。一个简单的解决方法是:
rx = new Regex("\n");
var matches = rx.Split(var1);
//iterate collection
注意,由于标签的原因,代码是c#格式的。这就成功了。我不得不将它调整为rx=newregex(“(?s)。*”)。谢谢
rx = new Regex("\n");
var matches = rx.Split(var1);
//iterate collection