@@ -600,12 +600,19 @@ func match*(s: string, pattern: Regex2): bool {.inline, raises: [].} =
600600when defined (noRegexOpt):
601601 template findSomeOptTpl (s, pattern, ms, i): untyped =
602602 findSomeImpl (s, pattern, ms, i)
603+ template findSomeOptTpl (s, pattern, ms, i, flags): untyped =
604+ findSomeImpl (s, pattern, ms, i, flags)
603605else :
604606 template findSomeOptTpl (s, pattern, ms, i): untyped =
605607 if pattern.litOpt.canOpt:
606608 findSomeOptImpl (s, pattern, ms, i)
607609 else :
608610 findSomeImpl (s, pattern, ms, i)
611+ template findSomeOptTpl (s, pattern, ms, i, flags): untyped =
612+ if pattern.litOpt.canOpt:
613+ findSomeOptImpl (s, pattern, ms, i, flags)
614+ else :
615+ findSomeImpl (s, pattern, ms, i, flags)
609616
610617iterator findAll * (
611618 s: string ,
@@ -668,9 +675,10 @@ iterator findAllBounds*(
668675 var i = start
669676 var i2 = start- 1
670677 var ms: RegexMatches2
678+ let flags = {mfNoCaptures}
671679 while i <= len (s):
672680 doAssert (i > i2); i2 = i
673- i = findSomeOptTpl (s, pattern.toRegex, ms, i)
681+ i = findSomeOptTpl (s, pattern.toRegex, ms, i, flags )
674682 # debugEcho i
675683 if i < 0 : break
676684 for ab in ms.bounds:
@@ -735,9 +743,10 @@ iterator split*(s: string, sep: Regex2): string {.inline, raises: [].} =
735743 i2 = - 1
736744 done = false
737745 ms: RegexMatches2
746+ flags = {mfNoCaptures}
738747 while not done:
739748 doAssert (i > i2); i2 = i
740- i = findSomeOptTpl (s, sep.toRegex, ms, i)
749+ i = findSomeOptTpl (s, sep.toRegex, ms, i, flags )
741750 done = i < 0 or i >= len (s)
742751 if done: ms.dummyMatch (s.len)
743752 for ab in ms.bounds:
0 commit comments