VB2005:我一直在寻找正则表达式现在几个小时,似乎无法让我的脑袋围绕我的情况.Replace。我正在寻找两个字段,然后我想用新值替换这些字段。所以,我的字符串看起来像这样:在正则表达式中替换多个捕获的组
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
这是一个有点哈克,但你可以做'“(RTEMP \ s {17} MIN <)(.. 。)(\ s {1,3} MAX <)(...)(\ s {1,12})“'并替换为”\ 1 {newMin} \ 3 {newMax} \ 5“',其中你已经用newMin&newMax代替了 – 2012-02-09 02:53:52
,所以这需要第一部分,增加新的价值,中间的部分,增加新的价值,最后一部分?是的,我认为我看到它是如何工作的。但我需要为20个领域做到这一点。这只是一个小例子。生病尝试它。 – sinDizzy 2012-02-09 14:56:02