working regex_replace v_0
authorFrantišek Kučera <franta-hg@frantovo.cz>
Mon, 10 Dec 2018 17:45:18 +0100
branchv_0
changeset 8 de3def6505a9
parent 7 92d85e02b276
child 9 f5c9a6daf4ea
working regex_replace
src/SedHandler.h
--- a/src/SedHandler.h	Mon Dec 10 17:28:53 2018 +0100
+++ b/src/SedHandler.h	Mon Dec 10 17:45:18 2018 +0100
@@ -51,7 +51,7 @@
 	wregex relationNameRegEx;
 	wregex attributeNameRegEx;
 	wregex searchRegEx;
-	wregex replacementRegEx;
+	string_t replacement;
 
 	vector<boolean_t> currentReplacableAttributes;
 	integer_t currentAttributeIndex = 0;
@@ -65,7 +65,7 @@
 			relationNameRegEx = wregex(arguments[0]);
 			attributeNameRegEx = wregex(arguments[1]);
 			searchRegEx = wregex(arguments[2]);
-			replacementRegEx = wregex(arguments[3]);
+			replacement = arguments[3];
 		} else {
 			throw cli::RelpipeCLIException(L"Usage: relpipe-tr-sed <relationNameRegExp> <attributeNameRegExp> <searchRegExp> <replacementRegExp>", cli::CLI::EXIT_CODE_UNKNOWN_COMMAND);
 		}
@@ -91,7 +91,7 @@
 
 	void attribute(const string_t& value) override {
 		if (currentReplacableAttributes[currentAttributeIndex]) {
-			relationalWriter->writeAttribute(L"1234");
+			relationalWriter->writeAttribute(regex_replace(value, searchRegEx, replacement));
 		} else {
 			relationalWriter->writeAttribute(value);
 		}