<div dir="ltr"><div class="gmail_default" style="font-size:small">The following test works in 17 but fails in 19.0.2, and 21.0.1 on the last assertion. Bug or feature? <br clear="all"></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><div style="background-color:rgb(30,31,34);color:rgb(188,190,196);font-family:"JetBrains Mono",monospace;white-space:pre"><span style="color:rgb(207,142,109)">import </span>org.junit.jupiter.api.Assertions;<br><span style="color:rgb(207,142,109)">import </span>org.junit.jupiter.api.<span style="color:rgb(179,174,96)">Test</span>;<br><br><span style="color:rgb(207,142,109)">import </span>java.util.ArrayList;<br><span style="color:rgb(207,142,109)">import </span>java.util.regex.Matcher;<br><span style="color:rgb(207,142,109)">import </span>java.util.regex.Pattern;<br><br><span style="color:rgb(95,130,107);font-style:italic">/**<br></span><span style="color:rgb(95,130,107);font-style:italic"> * Tests passes in JDK 17 but fails in JDK 19, 21.<br></span><span style="color:rgb(95,130,107);font-style:italic"> *<br></span><span style="color:rgb(95,130,107);font-style:italic"> * The combination of a \b "word boundary" and a unicode char doesn't seem to work in 19, 21.<br></span><span style="color:rgb(95,130,107);font-style:italic"> *<br></span><span style="color:rgb(95,130,107);font-style:italic"> */<br></span><span style="color:rgb(207,142,109)">public class </span>UnicodeTest {<br>    <span style="color:rgb(179,174,96)">@Test<br></span><span style="color:rgb(179,174,96)">    </span><span style="color:rgb(207,142,109)">public void </span><span style="color:rgb(86,168,245)">testRegexp</span>() <span style="color:rgb(207,142,109)">throws </span>Exception {<br>        <span style="color:rgb(207,142,109)">var </span>text = <span style="color:rgb(106,171,115)">"En sak som ökas och sedan minskas. Bra va!"</span>;<br>        <span style="color:rgb(207,142,109)">var </span>word = <span style="color:rgb(106,171,115)">"</span><span style="color:rgb(106,171,115);background-color:rgb(41,60,64)">ökas</span><span style="color:rgb(106,171,115)">"</span>;<br>        Assertions.<span style="font-style:italic">assertTrue</span>(text.contains(word));<br><br>        Pattern p = Pattern.<span style="font-style:italic">compile</span>(<span style="color:rgb(106,171,115)">"</span><span style="color:rgb(106,171,115);background-color:rgb(41,60,64)">(</span><span style="color:rgb(207,142,109);background-color:rgb(41,60,64)">\\</span><span style="color:rgb(106,171,115);background-color:rgb(41,60,64)">b</span><span style="color:rgb(106,171,115)">" </span>+ word + <span style="color:rgb(106,171,115)">"</span><span style="color:rgb(207,142,109);background-color:rgb(41,60,64)">\\</span><span style="color:rgb(106,171,115);background-color:rgb(41,60,64)">b)</span><span style="color:rgb(106,171,115)">"</span>);<br>        Matcher m = p.matcher(text);<br>        <span style="color:rgb(207,142,109)">var </span>matches = <span style="color:rgb(207,142,109)">new </span>ArrayList<>();<br><br>        <span style="color:rgb(207,142,109)">while </span>(m.find()) {<br>            String matchString = m.group();<br>            System.<span style="color:rgb(199,125,187);font-style:italic">out</span>.println(matchString);<br>            matches.add(matchString);<br>        }<br>        Assertions.<span style="font-style:italic">assertEquals</span>(<span style="color:rgb(42,172,184)">1</span>, matches.size());<br>    }<br>}<br></div></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;font-kerning:auto;font-feature-settings:normal;font-stretch:normal;font-size:14px;line-height:normal;font-family:Monaco;color:rgb(242,242,242);background-color:rgba(0,0,0,0.85)"><span style="font-variant-ligatures:no-common-ligatures">openjdk version "21.0.1" 2023-10-17 LTS</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;font-kerning:auto;font-feature-settings:normal;font-stretch:normal;font-size:14px;line-height:normal;font-family:Monaco;color:rgb(242,242,242);background-color:rgba(0,0,0,0.85)"><span style="font-variant-ligatures:no-common-ligatures">OpenJDK Runtime Environment Corretto-21.0.1.12.1 (build 21.0.1+12-LTS)</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;font-kerning:auto;font-feature-settings:normal;font-stretch:normal;font-size:14px;line-height:normal;font-family:Monaco;color:rgb(242,242,242);background-color:rgba(0,0,0,0.85)"><span style="font-variant-ligatures:no-common-ligatures">OpenJDK 64-Bit Server VM Corretto-21.0.1.12.1 (build 21.0.1+12-LTS, mixed mode, sharing)</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;font-kerning:auto;font-feature-settings:normal;font-stretch:normal;font-size:14px;line-height:normal;font-family:Monaco;color:rgb(242,242,242);background-color:rgba(0,0,0,0.85)"><span style="font-variant-ligatures:no-common-ligatures"><br></span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;font-kerning:auto;font-feature-settings:normal;font-stretch:normal;font-size:14px;line-height:normal;font-family:Monaco;color:rgb(242,242,242);background-color:rgba(0,0,0,0.85)"><span style="font-variant-ligatures:no-common-ligatures">System Version: macOS 14.2 (23C64)</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;font-kerning:auto;font-feature-settings:normal;font-stretch:normal;font-size:14px;line-height:normal;font-family:Monaco;color:rgb(242,242,242);background-color:rgba(0,0,0,0.85)"><span style="font-variant-ligatures:no-common-ligatures">Kernel Version: Darwin 23.2.0</span></p></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Thanks!</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div dir="ltr"><div style="font-size:12.8px"><span class="gmail_default" style="font-size:small">/Stefan</span><br></div><div style="font-size:12.8px"><span class="gmail_default" style="font-size:small"><br></span></div></div></div></div></div></div>