import Foundation
let pattern = #"(<Group id="\d+">\n\t\t\t<Name>)(\w+)_(\w+)(<\/Name>\n\t\t\t<Description>)([\w+\s]+)\s-\s([\w+\s]+)(<\/Description>)"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
<Group id="100">
<Name>generalAlarm_Group01</Name>
<Description>Group General Alarm 01</Description>
<Type>poll</Type>
<Content multipleGet="true">
<Param>100</Param>
<Param>101</Param>
<Param>103</Param>
<Param>104</Param>
<Param>120</Param>
<Param>121</Param>
</Content>
</Group>
<Group id="110">
<Name>generalConfig_Group01</Name>
<Description>Group General Config 01</Description>
<Type>poll</Type>
<Content multipleGet="true">
<Param>105</Param>
<Param>106</Param>
<Param>107</Param>
<Param>108</Param>
<Param>109</Param>
<Param>110</Param>
<Param>111</Param>
<Param>112</Param>
<Param>113</Param>
</Content>
</Group>
<Group id="1000">
<Name>firstPriorityAlarmConfig_Group1000</Name>
<Description>First Priority Alarm Config Table - Group 1000</Description>
<Type>poll</Type>
<Content multipleGet="true">
<Param>1000</Param>
</Content>
</Group>
<Group id="2000">
<Name>secondPriorityAlarmConfig_Group2000</Name>
<Description>Second Priority Alarm Config Table - Group 2000</Description>
<Type>poll</Type>
<Content multipleGet="true">
<Param>2000</Param>
</Content>
</Group>
<Group id="3000">
<Name>thirdPriorityAlarmConfig_Group3000</Name>
<Description>Third Priority Alarm Config Table - Group 3000</Description>
<Type>poll</Type>
<Content multipleGet="true">
<Param>3000</Param>
</Content>
</Group>
"""#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let substitutionString = #"$1$3_$2$4$6 - $5$7"#
let result = regex.stringByReplacingMatches(in: testString, range: stringRange, withTemplate: substitutionString)
print(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 Swift 5.2, please visit: https://developer.apple.com/documentation/foundation/nsregularexpression