sublime 2_Find并仅在目标词和长度匹配时替换

时间:2014-10-27 05:44:46

标签: regex

我正在寻找一种“查找和替换(ctrl + shfit + f)”的方法,不仅用于匹配的连续字符,还包括单词的长度。

例如像这样的代码片段

int a;
int b;
int c;

printf("I will be replaced as well cos I contain int!!");

其中:int

替换为:float

将导致

float a;
float b;
float c;

prfloatf("I will be replaced as well cos I contain int!!");

为了防止这种情况发生,我可以考虑添加长度条件。只要解决我的问题,我的想法将受到欢迎:-) 谢谢。

2 个答案:

答案 0 :(得分:0)

\bint\b(?=(?:[^)(]*\([^)(]*\))*[^)(]*$)

试试这个。这将取代你想要的int。参见演示。

http://regex101.com/r/sU3fA2/3

答案 1 :(得分:-1)

你可以使用正则表达式打破单词边界 - 这隐含地给你一个长度约束。

这种情况下的正则表达式是

查找:\bint\b

替换:float