// include the latest version of the regex crate in your Cargo.toml
extern crate regex;
use regex::Regex;
fn main() {
let regex = Regex::new(r"(?m)(?<=\s|^)(\w+)::\1\s*\((?:.|\n)*?\)*([^{]+)").unwrap();
let string = "TropicalFruitTOutput::TropicalFruitTOutput()
: dad::CRunnable()
, m_strawberry_in()
, m_watermelon_out()
#if MAX_FRUITS == (10)
, m_cherry_out()
, m_grape_out()
#endif
{
}
NationalFruitInput::NationalFruitInput()
: dad::CRunnable()
, m_banana_in()
, m_apple_out()
, m_dragronFruit(PAD_GetdragronFruitPAD_B())
{
}
SpecialFruits::SpecialFruits()
: AmazingClassType()
, m_pineapple_in()
, m_kiwi()
, m_avocado( // PRQA S 2961 # FALSEPOSITIVE QAC warning about uninitialized
// Hello world
// This is just a comment for
// testing purpose
m_apricotController.getApricotList())
{
}
using NewFruitsBase::NewFruitsBase;
public:
bool Check(const kolaInterface& kolaInterface) override
{
// Get feature setmode enabled/disabled information
const bool aa = GET_HMI_INFO(kolaInterface).m_b;
m_isActive = (aa == true);
return m_isActive;
};";
let substitution = "$1::$1()$3";
// result will be a String with the substituted value
let result = regex.replace_all(string, substitution);
println!("{}", result);
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Rust, please visit: https://docs.rs/regex/latest/regex/