Paul
Paul

Reputation: 117

Replace with regex keeping part of the pattern

In the example below, how to preserve part of a pattern? The pattern search must include closing tag </h3> as spans elsewhere must not be targeted.

Example: remove only </span> from </span> some text </h3>:

regEx.Pattern = "</span>[^>]*</h3>"
hr2 = regEx.Replace(hr2,"[^>]*</h3>")  '<- does not work

Upvotes: 3

Views: 1822

Answers (1)

Wiktor Stribiżew
Wiktor Stribiżew

Reputation: 626748

You need to set a capturing group and use a back reference in the replacement pattern.

regEx.Pattern = "</span>([^>]*)</h3>"
hr2 = regEx.Replace(hr2,"$1</h3>")

Or

regEx.Pattern = "</span>([^>]*</h3>)"
hr2 = regEx.Replace(hr2,"$1")

Upvotes: 3

Related Questions