繁体   English   中英

替换回调在VS2013中起作用,但在ideone中不起作用

[英]Replace callback works in VS2013 but not in ideone

今天在VB.NET中使用正则表达式,并测试一个简单的replace回调lambda。

该代码在VS2013中可以完美地编译,但是ideone对此大喊大叫。 想知道VB.NET专业人士是否对此有所了解。 :)

正则表达式并不重要,这是测试功能的随机示例。 我关心的是replace回调。 我非常希望将MatchEvaluator内联在Replace内,如下所示,而不是分别声明函数。

在VS2013中,以下代码正确输出AAA111000(无警告,无错误)。 但是ideone不喜欢它prog.vb (8,1) : Error VBNC90019: Expected ')'

Imports System
Imports System.Text.RegularExpressions
Module Module1
Sub Main()
Dim SomeRegex As New Regex("\d{3}")
Dim Subject As String = "AAA123456"
Dim NewString As String = SomeRegex.Replace(Subject,
                    Function(m As Match)
                        If (m.Groups(0).Value = "123") Then
                            Return "111"
                        Else 
                            Return "000"
                        End If
                     End Function                        
                    )
Console.WriteLine(NewString)
Console.WriteLine(vbCrLf & "Press Key")
 Console.ReadKey()
End Sub
End Module

VB.NET似乎不适用于Ideone。 我认为也许在这种情况下,缺少换行符会使您失望,但是即使您解决了该问题,也可能会遇到其他问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM