title: Regex with looping character or condition
body: <p>Below sample correct data</p>
  
  <pre><code>Hello @[Reda Sel](Native:reda) Hello @[Peter K](Native:123456)
  </code></pre>
  
  <p>I using this regex </p>
  
  <pre><code>(\@\[.*?])(\(.*?:.*?\))
  </code></pre>
  
  <p>to get the data like</p>
  
  <pre><code>@[Reda Sel](Native:reda)
  @[Peter K](Native:123456)
  </code></pre>
  
  <p>the problem is, when the input data something like this</p>
  
  <pre><code>Hello @[Reda Sel] Hello. @[Peter K](Native:123456) Testing
  Hello @[Reda Sel](Native:reda) Hello @[Peter K](Native:123456)
  </code></pre>
  
  <p>The result is</p>
  
  <pre><code>@[Reda Sel] Hello. @[Peter K](Native:123456)
  @[Reda Sel](Native:reda)
  @[Peter K](Native:123456)
  </code></pre>
  
  <p>I need to capture the data with certain expression like the example above.
  But if the data is repeated, the result is not overlapping like that.
  And the result would be like this</p>
  
  <pre><code>@[Peter K](Native:123456)
  @[Reda Sel](Native:reda)
  @[Peter K](Native:123456)
  </code></pre>
  
  <p>Edited if I wanted to replace the data using the result value like </p>
  
  <pre><code>Hello Reda Sel
  </code></pre>
  
  <p>Should I use foreach and replace it one, by one, or is there any other regex options?</p>
  
  <p>Thank you for your assistance.</p>