<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>So, I did a little experimenting this weekend and found that the
ICU RegEx engine is actually really capable.</p>
<p>o It's fast.</p>
<p>o It supports {n,m} characters instead of bytes</p>
<p>o It even works (though a little slow) with lookaheads and
lookbacks, e.g., for words in any order:
(?=.*God)(?=.*world)(?=.*love)</p>
<p> whereas that fails to compile or simply doesn't work in our
other regex engine options.<br>
</p>
So, I've added it as an option --with-icuregex and actually made it
the default in usrinst.sh<br>
<br>
You can check it out from trunk or else wait for the next RC.<br>
<br>
Planning to look at the issues Peter mentioned and then push our
another RC.<br>
<br>
Troy<br>
<br>
<br>
<div class="moz-cite-prefix">On 03/06/2017 06:17 PM, Troy A.
Griffitts wrote:<br>
</div>
<blockquote type="cite"
cite="mid:78d82f13-2c9b-6d5b-95bc-787664ee7626@crosswire.org">
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
<p>Yeah, so this page shows that c11x regex is still mostly
unsupported in gcc:</p>
<p><a class="moz-txt-link-freetext"
href="http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.tr1"
moz-do-not-send="true">http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.tr1</a></p>
<p>(see section 7)</p>
<p>And the old school gnu regex we use otherwise I don't think
knows anything about wide chars. It simply compares bytes and
does have a clue if some should be considered part of the same
byte. I suspect that because nowhere do we tell it that we're
giving it UTF-8.</p>
<p>Ultimately my hope is that gcc will improve eventually and
solve our problem for us. We could use<br>
</p>
<p>We could add an option to use ICU RegexMatcher, but I'm still
holding out for our compiler.</p>
<p>Troy<br>
</p>
<br>
<div class="moz-cite-prefix">On 03/06/2017 05:52 PM, Karl
Kleinpaste wrote:<br>
</div>
<blockquote
cite="mid:315400d9-b73c-14b4-f601-3bc406117969@kleinpaste.org"
type="cite">
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
<div class="moz-cite-prefix">On 03/06/2017 05:25 PM, Greg
Hellings wrote:<br>
</div>
<blockquote
cite="mid:CAHxvOV+bn4WpfAmUPQmarZZz-y3tu7tqLyPMOLA2h4t+OdFo8w@mail.gmail.com"
type="cite">being off by 2 would seem strange to me</blockquote>
<font face="FreeSerif">I don't understand this question at all.<br>
<br>
0xE2 = 226 = 0342<br>
0x80 = 128 = 0200<br>
0x93 = 147 = 0223<br>
<br>
There's no off-by error at all.<br>
<br>
"od" is the "octal dump" tool; given -c, it tries to dump
characters, but outside 7-bit ASCII, it still dumps octal.<br>
<br>
For those familiar with dc(1), this will make sense<br>
$ dc<br>
8o<br>
226p<br>
342<br>
128p<br>
200<br>
147p<br>
223<br>
16i<br>
0XE2p<br>
342<br>
0X80p<br>
200<br>
0X93p<br>
223<br>
<br>
The interesting questions are why C++11 regex can't find <i>en
dash</i>, and why non-C++11 regex doesn't understand
multibyte.<br>
</font> <br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org" moz-do-not-send="true">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/sword-devel" moz-do-not-send="true">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</blockquote>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</blockquote>
<br>
</body>
</html>