正则表达式重命名指针变量

时间:2011-06-09 17:44:26

标签: regex replace

我有这么多

代码段:

int *filePointer;
float *valPtr;

*valPtr = 5.6;

filePointer = ∑

我想替换所有指针变量,如下所示,例如

  1. * filePointer必须转换为* filePointer_p。
  2. filePointer必须转换为filePointer。
  3. valPtr必须转换为valPtr_p
  4. 如何使用正则表达式

    进行此操作

3 个答案:

答案 0 :(得分:2)

听起来像你可能会问如何使用正则表达式作为通用工具来重命名源代码中的所有指针变量。我假设提供的代码段只是一个例子。

如果我对您的目标的理解是正确的,那么使用正则表达式就无法做到这一点。如果变量是指针,则正则表达式将无法从上下文中可靠地确定。例如,考虑a=b;ab可能是指针,也可能是其他任何东西。正则表达式本身无法确定。

答案 1 :(得分:1)

首先是:

s/\*filePointer/*filePointer_p/g

不确定你的第二个是关于什么的?但如果您基本上要重命名filePointer,那么您应该能够简单地执行:

s/filePointer/filePointer_p/g

假设没有任何其他变量或上下文在不同的上下文中包含文本filePointer

答案 2 :(得分:0)

对于1,请尝试s/\*filePointer/*filePointer_p/g