fork(1) download
  1. #include <regex>
  2. #include <string>
  3. #include <iostream>
  4.  
  5. std::string remove_password(std::string const& input)
  6. {
  7. const char prog[] = R"((.*password\((["']))(?:\\\2|(?!\2)[^])*?(\2.*))";
  8. auto reg = std::regex(prog);
  9. return std::regex_replace(input, reg, "$1********$3");
  10. }
  11.  
  12. int main()
  13. {
  14. using namespace std::literals;
  15.  
  16. auto test_string = R"__(select * from run_on_hive(server('hdp230m2.labs.teradata.com'),username('vijay'),password('vijay'),dbname('default'),query('analyze table default.test01 compute statistics'));)__";
  17.  
  18. std::cout << remove_password(test_string);
  19. }
Success #stdin #stdout 0s 4236KB
stdin
Standard input is empty
stdout
select * from run_on_hive(server('hdp230m2.labs.teradata.com'),username('vijay'),password('********'),dbname('default'),query('analyze table default.test01 compute statistics'));