Hi,<div><br></div><div>Is it possible to make a regular expression which matches only part of a string. For example: </div><div><br></div><div><div>testRegex</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>| toSearch matcher doesMatch match1 match2 numMatches |</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>toSearch := &#39;value: 6474 mm&#39;.</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>matcher := RxMatcher forString: &#39; (\d+) &#39;.</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>doesMatch := matcher matches: toSearch.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>numMatches := matcher subexpressionCount.</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>match1 := (matcher subexpression: 1).</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>match2 := (matcher subexpression: 2).</div><div>
<span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>self halt.</div></div><div><br></div><div>which results in:</div><div>   doesMarch = false</div>
<div>   numMatches = 2</div><div>   match1 = nil</div><div>   match2 = nil</div><div><br></div><div>However if I replace the regular expression with: &#39;.* (\d+) .*&#39; so the whole string is matched I see</div><div><br>
</div><div><div>   doesMarch = true</div><div>   numMatches = 2</div><div>   match1 = &#39;value: 6474 mm&#39;</div><div>   match2 = &#39;6474&#39;</div></div><div><br></div><div>I can always pad my sub-matches with &#39;.*&#39;, but I wondered if I&#39;m missing a trick to make the Regex work with substring matches</div>
<div><br></div><div>Thanks</div><div><br></div><div>Nick </div>