# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"(?s)<(category) name=\"Content Server Categories:(.+?)\">(.+?)</(category)>"
test_str = ("<category name=\"Content Server Categories:FOLDER:test category\">\n"
" <attribute name=\"test attribuut\"><![CDATA[test]]></attribute>\n"
" <attribute name=\"test attribuut1\"><![CDATA[test1]]></attribute>\n"
"</category>\n\n"
"<category name=\"Content Server Categories:FOLDER1:FOLDER2:test category\">\n"
" <attribute name=\"test attribuut\"><![CDATA[test]]></attribute>\n"
" <attribute name=\"test attribuut1\"><![CDATA[test1]]></attribute>\n"
"</category>\n\n"
"<category name=\"Content Server Categories:FOLDER NAME:test category\">\n"
" <attribute name=\"test attribuut\"><![CDATA[test]]></attribute>\n"
" <attribute name=\"test attribuut1\"><![CDATA[test1]]></attribute>\n"
"</category>\n\n"
"<category name=\"Content Server Categories:FOLDER NAME: FOLDER NAME1:test category\">\n"
" <attribute name=\"test attribuut\"><![CDATA[test]]></attribute>\n"
" <attribute name=\"test attribuut1\"><![CDATA[test1]]></attribute>\n"
"</category>\n\n"
"<category name=\"Content Server Categories:FOLDER:test category name\">\n"
" <attribute name=\"test attribuut\"><![CDATA[test]]></attribute>\n"
" <attribute name=\"test attribuut1\"><![CDATA[test1]]></attribute>\n"
"</category>")
subst = "<$1-$2 name=\"Content Server Categories:$2\">$3</$1-$2>"
# You can manually specify the number of replacements by changing the 4th argument
result = re.sub(regex, subst, test_str, 0, re.MULTILINE)
if result:
print (result)
# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.
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 Python, please visit: https://docs.python.org/3/library/re.html