Я пытаюсь найти приведения в стиле C (int) (float)
и т. Д., А также найти и заменить их на std::static_cast
, но у меня возникают трудности с группами захвата Regex.
Пример кода:
Point pt((int)(it.size*cn), 1);
Следует заменить на:
Point pt(std::static_cast<int>((it.size*cn)), 1);
Следующее регулярное выражение соответствует шаблону:
(\(int\))\([^ ]*\)
Когда я пытаюсь заменить совпадение навторая группа захвата (независимо от того, что кастуется), она заменяет все.
Результат, который я получаю:
Point pt(std::static_cast<int>((int)(it.size*cn)), 1);
Использование замены на:
std::static_cast<int>\($0\)
Регулярное выражение не должно выводить тип, я просто ищу int
.