我知道这是一个非常简单的问题,但是Regex使我无休止。

我创建了这个正则表达式:

DataAt\((.)\)

捕获
DataAt(5)

并替换为
DataAt(5).get()

我已经在捕获组的Find and Replace框中尝试过此操作:
DataAt($1).get()

但这只是将其更改为
DataAt($1).get()

如何获得理想的结果?谢谢,很抱歉提出这个简单的问题。

最佳答案

如果要复制DataAt部分,则还应将其捕获到组中:

(DataAt)\((.)\)

然后使用类似以下的内容替换:
$1($2).get()

以导致:
DataAt(5).get()

否则,您唯一的捕获组是( )中的内容。

编辑:确定正则表达式替换在Visual Studio中。对于较旧的版本,定义捕获组要求使用花括号{ }和使用\1\2等的反向引用。因此,在这种情况下,它的用法如下:
\DataAt\({.}\)

用。。。来代替:
DataAt(\1).get()

10-06 15:50