Dim myInputString as string ="RTEMP MIN<240 MAX<800"
我的正则表达式是
dim ptn as string = "RTEMP\s{17}MIN<(?<min>(\d|\s){1,3})\s{1,3}MAX<(?<max>(\d|\s){1,3})\s{1,12}"
Dim MyRegex As Regex = New Regex(ptn, RegexOptions.IgnoreCase)
并且效果很好,它捕获了我的两个字段。 现在我有了新的值
dim newMin as integer = 300
dim newMax as integer = 999
但似乎无法弄清楚如何一举取代这两个值
Dim result As String = MyRegex.Replace(myInputString, MyRegexReplace)
我在MyRegexReplace中放了什么?这是一个简单的两个值替换,但我可能更多,所以认为必须有一种方法来做到这一点,但需要帮助。
由于 AGP
答案 0 :(得分:0)
由于您有两个不同的值可以交换到这两个字段,您不想使用2个单独的Regex操作吗?
但是如果你想使用一个Regex操作,你可以使用MatchEvaluator:
Dim result As string = MyRegex.Replace(myInputString, ReplaceField)
Private Function ReplaceField(match As Match) As String
' Use the Index property of the Match to determine what value to use as replacement
End Function