<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Build boost::regex with ICU support]]></title><description><![CDATA[<p dir="auto">Has anyone tried to build the boost regex library with ICU support and succeeded?<br />
If so, what is the magic?<br />
I’ve downloaded the sources as well as tried the precompiled binaries<br />
but whenever I try to compile it boost doesn’t find it.<br />
I’ve tried the method described <a href="https://www.boost.org/doc/libs/1_70_0/libs/regex/doc/html/boost_regex/install.html#boost_regex.install.building_with_unicode_and_icu_support" rel="nofollow ugc">here</a>.</p>
]]></description><link>https://community.notepad-plus-plus.org/topic/18974/build-boost-regex-with-icu-support</link><generator>RSS for Node</generator><lastBuildDate>Fri, 07 Aug 2026 12:02:43 GMT</lastBuildDate><atom:link href="https://community.notepad-plus-plus.org/topic/18974.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 26 Feb 2020 16:30:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Build boost::regex with ICU support on Mon, 10 Feb 2025 10:23:17 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/guy038" aria-label="Profile: guy038">@<bdi>guy038</bdi></a></p>
<p dir="auto">To be honest, no, I didn’t look further into boost::regex and Unicode after the problems, probably only caused by my ignorance, occurred with Nim. I admit that an implementation for the EnhanceAnyLexer plugin would be beneficial, but the interaction with cpp code still gives me a stomach ache.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/99753</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/99753</guid><dc:creator><![CDATA[Ekopalypse]]></dc:creator><pubDate>Mon, 10 Feb 2025 10:23:17 GMT</pubDate></item><item><title><![CDATA[Reply to Build boost::regex with ICU support on Sun, 09 Feb 2025 18:07:31 GMT]]></title><description><![CDATA[<p dir="auto">Hello, <a class="plugin-mentions-user plugin-mentions-a" href="/user/ekopalypse" aria-label="Profile: ekopalypse">@<bdi>ekopalypse</bdi></a>, <a class="plugin-mentions-user plugin-mentions-a" href="/user/alan-kilborn" aria-label="Profile: alan-kilborn">@<bdi>alan-kilborn</bdi></a>, <a class="plugin-mentions-user plugin-mentions-a" href="/user/coises" aria-label="Profile: coises">@<bdi>coises</bdi></a> and <strong>All</strong>,</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/coises" aria-label="Profile: coises">@<bdi>coises</bdi></a> and <a class="plugin-mentions-user plugin-mentions-a" href="/user/ekopalypse" aria-label="Profile: ekopalypse">@<bdi>ekopalypse</bdi></a>, I don’t know if you’ve found the time and/or the inclination to take a look to the <strong>François-R Boyer</strong> work, just for <strong>inspiration</strong> !</p>
<p dir="auto">Of course, this work dates from <strong><code>2013</code></strong> and a lot of time has passed ! Since this date, some <strong>improvements</strong> were made to our N++ <strong><code>Boost</code></strong> regex engine. In particular :</p>
<ul>
<li>
<p dir="auto">The correct behavior of the <strong>backward</strong> assertions as <strong><code>\A</code></strong></p>
</li>
<li>
<p dir="auto">The correct behavior of the <strong>`look-behind</strong> feature, even in case of <strong>overlapping</strong></p>
</li>
<li>
<p dir="auto">The <strong>explanation</strong> of an error in case of the <strong><code>Find Invalid regular expression</code></strong> message</p>
</li>
</ul>
<hr />
<p dir="auto">But the <strong>highlights</strong> of this <strong>old</strong> build are still :</p>
<ul>
<li>
<p dir="auto"><strong>Searches</strong> and *<em>replacements</em> are performed in true <strong><code>32 bits</code></strong> code-points ( instead of <strong><code>UTF-16</code></strong> )</p>
</li>
<li>
<p dir="auto">Thus, it can handle <strong>ALL</strong> the Universal Character Names ( <strong>UCN</strong>) of the <strong>UCS Transformation Format</strong> , from <strong><code>\x{0}</code></strong> to <strong><code>\x{7FFFFFFF}</code></strong>, particularly, all those of code-points over <strong><code>\x{FFFF}</code></strong>, which are <strong>outside</strong> the <strong>BMP</strong> ( Basic Multilingual Plane )</p>
</li>
<li>
<p dir="auto">Both, <strong>search</strong> and <strong>replace</strong> strings can contain <strong>embedded NUL</strong> characters and/or <strong>Escape</strong> sequences for <strong>NUL</strong> characters ( <strong><code>\x{0000}</code></strong> )</p>
</li>
<li>
<p dir="auto"><strong>Backward</strong> regex search, for <strong>NON</strong> <strong><code>ANSI</code></strong> files, does <strong>not</strong> stop, anymore, when matching a character with <strong>Unicode</strong> code-point over <strong><code>\x{007F}</code></strong>.</p>
</li>
<li>
<p dir="auto">A new <strong><code>&lsqb;&lsqb;:inval:&rsqb;&rsqb;</code></strong> character <strong>class</strong>, which allows you to find <strong>invalid UTF-8</strong> sequences, which can be kept in <strong>replacement</strong>, too</p>
</li>
<li>
<p dir="auto">a new <strong><code>SCFIND_REGEXP_LOCALEORDER</code></strong> option, to have character ranges in <strong>locale</strong> order instead of <strong>code-point</strong> order ('Ã ’ is between ‘a’ and ‘b’ at least in French locale order, but is after in code point order, thus <strong><code>[a-b]</code></strong> will match also 'Ã ’ and other characters that would be between ‘a’ and ‘b’ in a dictionary)</p>
</li>
</ul>
<hr />
<p dir="auto">I tried to do some tests, installing the N++ <strong><code>v6.9.0</code></strong> <strong>portable</strong> release on an <strong>USB</strong> key and replacing the default <strong><code>SciLexer.dll</code></strong> with the @boyer’s <strong><code>SciLexer</code></strong>. Unfortunately, when inserting this USB key on my <strong>Win-10</strong> laptop, most of these tests <strong>cannot</strong> be performed properly because of <strong>important</strong> changes in N++ release <strong><code>v8.0</code></strong></p>
<ul>
<li>
<p dir="auto">The Scilexer.dll did <strong>not</strong> exist anymore and was <strong>included</strong> within N++ itself</p>
</li>
<li>
<p dir="auto">The <strong><code>UCS-2 BE BOM</code></strong> and <strong><code>UCS-2 LE BOM</code></strong> encodings were changed by the <strong><code>UTF-16 BE BOM</code></strong> and <strong><code>UTF-16 LE BOM</code></strong> encodings</p>
</li>
</ul>
<p dir="auto">For example, using my <strong><code>Total_Chars</code></strong> file, the search of the regex <strong><code>\x{10000}</code></strong> wrongly return <strong><code>65</code></strong> hits, instead of the <strong>right</strong> <strong><code>1</code></strong> char ). I suppose that if we could use the <strong>Boyer</strong> implementation with a <strong>recent</strong> N++ release ( instead of <strong><code>v6.9</code></strong> ), the result would be <strong>OK</strong> ?</p>
<p dir="auto">I also noticed a strange behavior regarding the <strong>backward</strong> regex searches, with N++ <strong><code>v6.9</code></strong> and the <strong>Boyer</strong> build for an <strong><code>UTF-8</code></strong> file : we have to click as <strong>many</strong> times to <strong><code>Shift + F3</code></strong> that the <strong>current</strong> character is coded with <strong>two</strong>, <strong>three</strong> or <strong>four</strong> <strong><code>UTF-8</code></strong> bytes !</p>
<hr />
<p dir="auto">However, one thing seems to work, as mentioned by <strong>François-R Boyer</strong> : the search and/or replacement of <strong><code>NUL</code></strong> character(s), whatever its syntax ( <strong><code>\x0</code></strong> , <strong><code>\x00</code></strong>, <strong><code>\x{00}</code></strong>, <strong><code>\x{000}</code></strong> or <strong><code>\x{0000}</code></strong> ). For example :</p>
<p dir="auto">SEARCH <strong><code>ABC\x00WYZ</code></strong></p>
<p dir="auto">REPLACE <strong><code>\x0--$0--\x{000}</code></strong></p>
<p dir="auto"><img src="/assets/uploads/files/1739124146513-f2bdd090-29e4-4b33-9675-81a225d46d13-image.png" alt="f2bdd090-29e4-4b33-9675-81a225d46d13-image.png" class=" img-fluid img-markdown" /></p>
<hr />
<p dir="auto">So, I wish you all the <strong>best</strong> to your <strong>quest</strong> towards a fully consistent regular expression <strong>engine</strong>, using <strong><code>32-bits</code></strong> code-points with possible <strong>local order</strong> of characters !</p>
<p dir="auto">Best Regards,</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/99736</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/99736</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Sun, 09 Feb 2025 18:07:31 GMT</pubDate></item><item><title><![CDATA[Reply to Build boost::regex with ICU support on Sat, 08 Feb 2025 05:38:13 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ekopalypse" aria-label="Profile: Ekopalypse">@<bdi>Ekopalypse</bdi></a> said in <a href="/post/99679">Build boost::regex with ICU support</a>:</p>
<blockquote>
<p dir="auto">No, I’m pretty sure I never looked for utf32 trait classes because I didn’t even understand the basics of cpp back then.</p>
</blockquote>
<p dir="auto">I think I have it! I’m using the PythonScript approach of creating a new traits class, but not doing it quite the same way they do — instead I’m “delegating” everything I can to the wchar_t traits, and treating everything over 0xFFFF as opaque: no attempt to recognize word characters or digits or anything else up there… just [:unicode:] but otherwise not parts of any character class and not subject to case transformation. That way I’m pretty confident nothing will be <em>worse</em> than it is with <code>wchar_t</code>, but it works in Unicode code points with none of the surrogate nonsense.</p>
<p dir="auto">Not ready for public release yet, but it looks like it works. I can search and replace using expressions like <code>\x{1F809}</code> with no problem; <code>.</code> matches one Unicode code point, including over 0xFFFF.</p>
<p dir="auto">So now my plan is to test this until I’m comfortable including it in a new release of Columns++. If <em>that</em> proves stable, I’ll raise the notion that perhaps Notepad++ could do the same thing.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/99707</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/99707</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Sat, 08 Feb 2025 05:38:13 GMT</pubDate></item><item><title><![CDATA[Reply to Build boost::regex with ICU support on Fri, 07 Feb 2025 17:29:50 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ekopalypse" aria-label="Profile: Ekopalypse">@<bdi>Ekopalypse</bdi></a> said in <a href="/post/99679">Build boost::regex with ICU support</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/coises" aria-label="Profile: Coises">@<bdi>Coises</bdi></a></p>
<p dir="auto">Yes, as far as I remember I was able to compile everything into a “huge” static library, but then had a problem using it with nim which made me give up, but I don’t remember exactly what steps I took back then.</p>
<p dir="auto">No, I’m pretty sure I never looked for utf32 trait classes because I didn’t even understand the basics of cpp back then.</p>
<p dir="auto">I’m not home at the moment, but when I get back I’ll take a look at the project to see if I left some notes for my future self.</p>
</blockquote>
<p dir="auto">Thanks for looking.</p>
<p dir="auto">Odd… I just came across one of my own older posts which mentioned <a href="https://github.com/bruderstein/PythonScript/blob/master/PythonScript/src/UTF8Iterator.h" rel="nofollow ugc">this code from PythonScript</a> in which they appear to have solved the problem (of creating a traits class, not of using ICU).</p>
<p dir="auto">Now I can’t remember why I didn’t just copy that approach. There must have been a reason.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/99700</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/99700</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Fri, 07 Feb 2025 17:29:50 GMT</pubDate></item><item><title><![CDATA[Reply to Build boost::regex with ICU support on Fri, 07 Feb 2025 14:33:05 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/coises" aria-label="Profile: Coises">@<bdi>Coises</bdi></a></p>
<p dir="auto">Sorry, apart from my Nim test code I haven’t found anything else.</p>
<pre><code>import std/[os]

when not defined(cpp): {.error: "This projects needs to be compiled with cpp backend as it uses the boost::regex library.".}

{.passC: "-std=gnu++17 -ID:\\Repositories\\vcpkg\\installed\\x64-windows\\include".}

{.push header: "boost/regex.hpp".}
type
    StdString {.importcpp: "std::string".} = object
    RegEx {.importcpp: "boost::regex".} = object
    Match {.importcpp: "boost::smatch".} = object
    SubMatch {.importcpp: "boost::ssub_match".} = object
    RegexError {.importcpp: "boost::regex_error".} = object
{.pop.}

# char compatible
proc regexSearch(s: StdString, w: Match, e: RegEx): bool {.importcpp: "boost::regex_search(@)".}
proc initStdString(s: cstring): StdString {.constructor, importcpp: "std::string(@)".}
proc initRegEx(s: cstring): RegEx {.constructor, importcpp: "boost::regex(@)".}
proc initMatch(): Match {.constructor, importcpp: "boost::smatch()".}

proc size(self: Match): int {.importcpp: "size".}
proc position(self: Match, i: int): int {.importcpp: "position".}

proc length(self: Match, i: int): int {.importcpp: "length".}
proc `[]`(self: Match, i: int32): SubMatch {.importcpp: "#[#]".}
proc str(self: SubMatch): StdString {.importcpp: "str".}
proc cStr(self: StdString): cstring {.importcpp: "(char *)#.c_str()".}
proc what(err: RegexError): cstring {.importcpp: "(char *)#.what()".}

proc position(self: RegexError): int {.importcpp: "position".}

# https://www.boost.org/doc/libs/1_80_0/libs/regex/doc/html/boost_regex/ref/match_results.html
# https://www.boost.org/doc/libs/1_80_0/libs/regex/doc/html/boost_regex/ref/sub_match.html

when isMainModule:
    try:
        var s = initStdString("Boost Libraries Test".cstring)   # std::string s = "Boost Libraries";
        var e = initRegEx("(\\w+)\\s(\\w+)".cstring)            # boost::regex expr{"(\\w+)\\s(\\w+)"};
        var w = initMatch()                                     # boost::smatch what;
        if regexSearch(s, w, e):                                # if (boost::regex_search(s, what, expr)) {
            echo(w[0].str().cStr())                             #     std::cout &lt;&lt; what[0] &lt;&lt; '\n';
            echo(w[1].str().cStr(), "_", w[2].str().cStr())     #     std::cout &lt;&lt; what[1] &lt;&lt; "_" &lt;&lt; what[2] &lt;&lt; '\n'; }

            for i in 0 ..&lt; w.size():
                let pos = w.position(i)
                echo(pos, "-", pos + w.length(i) - 1, " ", w[int32(i)].str().cStr())
        else:
            echo(":-(")

    except RegexError as e:
        echo "Error in regex found at position:", e.position()
        # echo e.what()
    except:
        echo repr(getCurrentException())
</code></pre>
]]></description><link>https://community.notepad-plus-plus.org/post/99688</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/99688</guid><dc:creator><![CDATA[Ekopalypse]]></dc:creator><pubDate>Fri, 07 Feb 2025 14:33:05 GMT</pubDate></item><item><title><![CDATA[Reply to Build boost::regex with ICU support on Fri, 07 Feb 2025 08:38:29 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/coises" aria-label="Profile: Coises">@<bdi>Coises</bdi></a></p>
<p dir="auto">Yes, as far as I remember I was able to compile everything into a “huge” static library, but then had a problem using it with nim which made me give up, but I don’t remember exactly what steps I took back then.</p>
<p dir="auto">No, I’m pretty sure I never looked for utf32 trait classes because I didn’t even understand the basics of cpp back then.</p>
<p dir="auto">I’m not home at the moment, but when I get back I’ll take a look at the project to see if I left some notes for my future self.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/99679</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/99679</guid><dc:creator><![CDATA[Ekopalypse]]></dc:creator><pubDate>Fri, 07 Feb 2025 08:38:29 GMT</pubDate></item><item><title><![CDATA[Reply to Build boost::regex with ICU support on Fri, 07 Feb 2025 03:15:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ekopalypse" aria-label="Profile: Ekopalypse">@<bdi>Ekopalypse</bdi></a> said in <a href="/post/51054">Build boost::regex with ICU support</a>:</p>
<blockquote>
<p dir="auto">there is still some open task for implementing ICU.</p>
</blockquote>
<p dir="auto">Extreme necro, I know… this just turned up in a search.</p>
<p dir="auto">There’s a nice, clean header-only implementation of boost::regex, but it doesn’t work properly for Unicode without ICU. I use boost::regex in my plugin, but I gave up trying to make sense of how to statically link whatever parts of ICU are needed by boost::regex so as to wind up with a single GitHub project / MSVC solution that compiles into one dll that works.</p>
<p dir="auto">Did you ever figure it out?</p>
<p dir="auto">Alternatively, did you find another source for the information needed to implement a <a href="https://www.boost.org/doc/libs/release/libs/regex/doc/html/boost_regex/ref/concepts/traits_concept.html" rel="nofollow ugc">traits class</a> on Windows for UTF-32 as <code>char32_t</code>? I <em>think</em> getting those “traits” is the main hurdle, and why boost::regex uses <a href="https://unicode-org.github.io/icu/userguide/icu4c/" rel="nofollow ugc">ICU4C</a> to implement Unicode.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/99675</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/99675</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Fri, 07 Feb 2025 03:15:07 GMT</pubDate></item><item><title><![CDATA[Reply to Build boost::regex with ICU support on Fri, 28 Feb 2020 21:38:49 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/guy038" aria-label="Profile: guy038">@<bdi>guy038</bdi></a> - thank you very much but take your time, no hurry.<br />
I stay away from PC on weekends anyway and<br />
there is still some open task for implementing ICU.<br />
So have nice weekend to everyone. :)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/51054</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/51054</guid><dc:creator><![CDATA[Ekopalypse]]></dc:creator><pubDate>Fri, 28 Feb 2020 21:38:49 GMT</pubDate></item><item><title><![CDATA[Reply to Build boost::regex with ICU support on Fri, 28 Feb 2020 20:49:44 GMT]]></title><description><![CDATA[<p dir="auto">Hi, <a class="plugin-mentions-user plugin-mentions-a" href="/user/ekopalypse" aria-label="Profile: ekopalypse">@<bdi>ekopalypse</bdi></a>,</p>
<p dir="auto">Just a <strong>first</strong> and <strong>quick</strong> anwwer, regarding the <strong><code>readme.txt</code></strong> of <strong>François-R Boyer</strong>… on <strong><code>2013-03-27</code></strong> !</p>
<hr />
<blockquote>
<p dir="auto">This folder contains my latest regex code (as of may 2013) for Notepad++ which is not yet in the release version.</p>
</blockquote>
<blockquote>
<p dir="auto">The SciLexer.dll can directly replace the one from latest version of Notepad++ but not all features are accessible since the user interface has not been updated to support some new features.</p>
</blockquote>
<blockquote>
<p dir="auto">It passes all automated tests that were done for the “new regex code” which is in current release, plus:</p>
</blockquote>
<blockquote>
<ul>
<li>correctly supports code points outside BPM (search is done with 32 bit codepoints instead of UTF-16);</li>
</ul>
</blockquote>
<blockquote>
<ul>
<li>both search and replace strings can contain embedded null characters and/or escape sequences for null characters;</li>
</ul>
</blockquote>
<blockquote>
<ul>
<li>lookbehinds are correctly handled in search and replace, even those overlapping with end of previous match;</li>
</ul>
</blockquote>
<blockquote>
<ul>
<li>a new &lsqb;&lsqb;:inval:&rsqb;&rsqb; character class, to find invalid UTF-8 sequences;</li>
</ul>
</blockquote>
<blockquote>
<ul>
<li>invalid UTF-8 characters can be kept in replace (e.g. replacing “(.*)” by “ab\1cd” will keep invalid UTF-8 sequences);</li>
</ul>
</blockquote>
<blockquote>
<p dir="auto">The following new features are not accessible in current Notepad++ user interface:</p>
</blockquote>
<blockquote>
<ul>
<li>a new SCFIND_REGEXP_LOCALEORDER option, to have character ranges in locale order instead of code point order (‘à’ is between ‘a’ and ‘b’ at least in French locale order, but is after in code point order, thus [a-b] will match also ‘à’ and other characters that would be between ‘a’ and ‘b’ in a dictionary);</li>
</ul>
</blockquote>
<blockquote>
<ul>
<li>the error message can now be known when the regex is invalid (e.g. regex “(” will report an “Unmatched marking parenthesis”, while current Notepad++ only knows it is an “Invalid regular expression”);</li>
</ul>
</blockquote>
<blockquote>
<p dir="auto">Source: readme.txt, updated 2013-05-27</p>
</blockquote>
<hr />
<p dir="auto">Now, <a class="plugin-mentions-user plugin-mentions-a" href="/user/ekopalypse" aria-label="Profile: ekopalypse">@<bdi>ekopalypse</bdi></a>, I’ll try, these <strong>next</strong> days, to collect a <strong>bunch</strong> of regexes, which :</p>
<ul>
<li>
<p dir="auto">Does <strong>not</strong> work with our <strong>present</strong> implementation of The <strong>Boost Regex</strong> library</p>
</li>
<li>
<p dir="auto">Does work <strong>properly</strong> with the <strong>François-R Boyer</strong> implementation</p>
</li>
</ul>
<p dir="auto">BR</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/51053</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/51053</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Fri, 28 Feb 2020 20:49:44 GMT</pubDate></item><item><title><![CDATA[Reply to Build boost::regex with ICU support on Fri, 28 Feb 2020 16:41:23 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/guy038" aria-label="Profile: guy038">@<bdi>guy038</bdi></a></p>
<p dir="auto">I was reading your REMARK from the above mentioned link.<br />
May I ask you for a favor?<br />
Can you provide me a few regex examples from that section<br />
to see if my implementation works as expected?<br />
For the range: <code>\x{0} to \x{7FFFFFFF}</code>, is it ok if I would create<br />
each code point on the fly and do a search to see if it matches?<br />
Or is it needed to have multiple bytes of those values to be really<br />
sure it is working??<br />
Means, is each code point an entity of its own or<br />
might it be that multiple code points form to one entity?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/51048</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/51048</guid><dc:creator><![CDATA[Ekopalypse]]></dc:creator><pubDate>Fri, 28 Feb 2020 16:41:23 GMT</pubDate></item><item><title><![CDATA[Reply to Build boost::regex with ICU support on Fri, 28 Feb 2020 14:46:48 GMT]]></title><description><![CDATA[<p dir="auto">Okay, quick information.<br />
To compile boost::regex with ICU support the trick is to find<br />
both, the release builds and the debug builds of ICU.<br />
More about this <a href="https://lists.boost.org/boost-users/2020/02/90273.php" rel="nofollow ugc">here</a>.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/51044</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/51044</guid><dc:creator><![CDATA[Ekopalypse]]></dc:creator><pubDate>Fri, 28 Feb 2020 14:46:48 GMT</pubDate></item><item><title><![CDATA[Reply to Build boost::regex with ICU support on Wed, 26 Feb 2020 19:02:31 GMT]]></title><description><![CDATA[<p dir="auto">Hello, <a class="plugin-mentions-user plugin-mentions-a" href="/user/ekopalypse" aria-label="Profile: ekopalypse">@<bdi>ekopalypse</bdi></a>, <a class="plugin-mentions-user plugin-mentions-a" href="/user/alan-kilborn" aria-label="Profile: alan-kilborn">@<bdi>alan-kilborn</bdi></a> and <strong>All</strong>,</p>
<p dir="auto">As <strong>Alan</strong> said, I do think that the <strong><code>ICU</code></strong> project, of the Unicode consortium, is really <strong>very important</strong> !</p>
<p dir="auto">May be, you could <strong>examine</strong> the improved <strong>Beta N++ regex</strong> code of <strong>François-R Boyer</strong>. Probably, it’s <strong>not</strong> related at all with the <strong>present</strong> discussion. But, who knows ! You may find out some <strong>valuable</strong> information ;-))</p>
<p dir="auto">To that matter, just follow my road map, at the <strong>end</strong> of the post, below, in the <strong>remark</strong> section :</p>
<p dir="auto"><a href="https://community.notepad-plus-plus.org/topic/15765/faq-desk-where-to-find-regex-documentation">https://community.notepad-plus-plus.org/topic/15765/faq-desk-where-to-find-regex-documentation</a></p>
<hr />
<p dir="auto">Briefly :</p>
<ul>
<li>
<p dir="auto">Download a <strong>portable</strong> N++ <strong><code>v6.9.0</code></strong> release</p>
</li>
<li>
<p dir="auto">Install it in <strong>any</strong> location,  different from <strong>Windows</strong> common folders</p>
</li>
<li>
<p dir="auto"><strong>Rename</strong> the <strong><code>SciLexer.dll</code></strong>, whatever you want</p>
</li>
<li>
<p dir="auto">Download the <strong><code>SciLexer.dll</code></strong> version of <strong>François-R Boyer</strong>, at the <strong>same</strong> location</p>
</li>
<li>
<p dir="auto">Start N++ <strong><code>v6.9.0</code></strong></p>
</li>
</ul>
<hr />
<p dir="auto">Of course, if, from the <strong>examination</strong> of this <strong>old</strong> modified <strong><code>SciLexer.dll</code></strong> file, you could understand and apply the <strong>Boyer</strong>’s improvements to our <strong>present</strong> <strong><code>SciLexer.dll</code></strong> file, a <strong>big</strong> step would have been taken ! Sure that you would deserve <strong>many</strong> packs of <strong>beer</strong>, as a reward ;-))</p>
<p dir="auto">Cheers, … by advance,</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50986</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50986</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Wed, 26 Feb 2020 19:02:31 GMT</pubDate></item><item><title><![CDATA[Reply to Build boost::regex with ICU support on Wed, 26 Feb 2020 17:43:33 GMT]]></title><description><![CDATA[<p dir="auto">PS seems to do its own <a href="https://github.com/bruderstein/PythonScript/blob/master/PythonScript/src/UTF8Iterator.cpp" rel="nofollow ugc">utf8 parsing</a> - I try to avoid it if boost has a native way of doing it. But maybe I have to do it.<br />
The same seems to be the case how <a href="https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/scintilla/boostregex/UTF8DocumentIterator.cxx" rel="nofollow ugc">npp</a> handles this.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50982</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50982</guid><dc:creator><![CDATA[Ekopalypse]]></dc:creator><pubDate>Wed, 26 Feb 2020 17:43:33 GMT</pubDate></item><item><title><![CDATA[Reply to Build boost::regex with ICU support on Wed, 26 Feb 2020 17:38:03 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ekopalypse" aria-label="Profile: Ekopalypse">@<bdi>Ekopalypse</bdi></a></p>
<p dir="auto">Wouldn’t N++ and Pythonscript be building boost with that enabled?  Can’t you follow their models for getting it built?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50981</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50981</guid><dc:creator><![CDATA[Alan Kilborn]]></dc:creator><pubDate>Wed, 26 Feb 2020 17:38:03 GMT</pubDate></item><item><title><![CDATA[Reply to Build boost::regex with ICU support on Wed, 26 Feb 2020 17:37:56 GMT]]></title><description><![CDATA[<p dir="auto">Yes, very important :)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50980</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50980</guid><dc:creator><![CDATA[Ekopalypse]]></dc:creator><pubDate>Wed, 26 Feb 2020 17:37:56 GMT</pubDate></item><item><title><![CDATA[Reply to Build boost::regex with ICU support on Wed, 26 Feb 2020 17:37:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ekopalypse" aria-label="Profile: Ekopalypse">@<bdi>Ekopalypse</bdi></a> said in <a href="/post/50978">Build boost::regex with ICU support</a>:</p>
<blockquote>
<p dir="auto">ICU allows boost::regex to correctly parse</p>
</blockquote>
<p dir="auto">Pretty important then! :-)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50979</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50979</guid><dc:creator><![CDATA[Alan Kilborn]]></dc:creator><pubDate>Wed, 26 Feb 2020 17:37:07 GMT</pubDate></item><item><title><![CDATA[Reply to Build boost::regex with ICU support on Wed, 26 Feb 2020 17:36:02 GMT]]></title><description><![CDATA[<p dir="auto"><a href="http://site.icu-project.org/" rel="nofollow ugc">ICU</a> allows boost::regex to <em>correctly</em> parse<br />
utf8, utf16 and utf32 encoded text.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50978</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50978</guid><dc:creator><![CDATA[Ekopalypse]]></dc:creator><pubDate>Wed, 26 Feb 2020 17:36:02 GMT</pubDate></item><item><title><![CDATA[Reply to Build boost::regex with ICU support on Wed, 26 Feb 2020 17:25:22 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ekopalypse" aria-label="Profile: Ekopalypse">@<bdi>Ekopalypse</bdi></a></p>
<p dir="auto">Two things:</p>
<p dir="auto">What the heck is ICU? The link doesn’t explain the “what” of it.</p>
<p dir="auto">Also, I understand why it is not OT here, but there may be better places to ask the same question.</p>
<p dir="auto">I think I know why you are asking, and I’m intrigued, so do keep us posted on what you find out.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50976</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50976</guid><dc:creator><![CDATA[Alan Kilborn]]></dc:creator><pubDate>Wed, 26 Feb 2020 17:25:22 GMT</pubDate></item></channel></rss>