def _appendRegexMarkup(s, result): while s: m = extlinkre.search(s) if m: frag = s[:m.start()] splice = ExternalLink(m.group(1), m.group(1)) s = m.group(3) + s[m.end():] else: frag = s splice = None s = '' frag = cgi.escape(frag) frag = boldre.sub(r'<b>\1</b>', frag) frag = italre.sub(r'<i>\1</i>', frag) frag = underre.sub(r'<u>\1</u>', frag) while 1: m = intlinkre.search(frag) if m: result.append(HtmlFragment(frag[:m.start()])) result.append(RenderUtils.InternalLink(m.group())) frag = frag[m.end():] else: result.append(HtmlFragment(frag)) break if splice: result.append(splice)