VB Regex.Replace带有重复括号

时间:2013-09-10 00:10:51

标签: regex vb.net string

我正在尝试在字符串中搜索某个值,并将其替换为另一个值。

示例:

字符串:"/accounts/{accountId}/cheques/{chequeId}/cancel"

我正在尝试使用数字1替换{和}之间的任何内容。

所以我最终会:

字符串:"/accounts/1/cheques/1/cancel"

我使用以下内容:

prepedURI = System.Text.RegularExpressions.Regex.Replace(prepedURI, "{.*}", "1")

但不幸的是,Replace函数正在返回: 字符串:“/ accounts / 1 / cancel”

似乎忽略了第一个}并将所有内容替换为第二个}。

有什么建议吗?

请原谅我的傻瓜。这是我的第一次正则表达式体验,我正在尽力理解模式中的所有这些“标志”。

示例(您可以粘贴到按钮点击事件中以查看我的意思):

Dim prepedURI As String = "/accounts/{accountId}/cheques/{chequeId}/cancel"
prepedURI = System.Text.RegularExpressions.Regex.Replace(prepedURI, "{.*}", "1")
MsgBox(prepedURI)

1 个答案:

答案 0 :(得分:1)

使用?在结束大括号之前

{.*?}

可以在以下链接找到工作示例 - http://rubular.com/r/1LpnGNC3sC