<div dir="ltr">re:run("йцу.asd", xmerl_regexp:sh_to_awk("*.*"), [{capture, none}, unicode]).<br><div>The binary one matches since it works on bytes and not utf-8 characters?<br></div><div><br></div><div>Also the erlang shell doesn't know if a list of integers is a list of integers or a string,</div><div>since they may be represented by the same list of integers.</div><div><br></div><div>So it tries to guess, by default it guesses that lists containing integers larger than 255</div><div>is not a string but a list of integers. You can change that with:</div><div><br></div><div>(w)erl +pc unicode</div><div><br></div><div>1> "йцу.asd".</div><div>"йцу.asd"</div><div><br></div><div>/Dan</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Sat, Oct 14, 2017 at 10:12 AM Attila Rajmund Nohl <<a href="mailto:attila.r.nohl@gmail.com">attila.r.nohl@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">2017-10-14 4:21 GMT+02:00 Alexandre Karpov <<a href="mailto:alexakarpov@gmail.com" target="_blank">alexakarpov@gmail.com</a>>:<br>
> TL;DR: how do I run erl which understands Unicode?<br>
><br>
> Or, in more detail:<br>
><br>
> (Disclaimer: this official documentation got me really humbled:<br>
> <a href="http://www1.erlang.org/doc/apps/stdlib/unicode_usage.html" rel="noreferrer" target="_blank">http://www1.erlang.org/doc/apps/stdlib/unicode_usage.html</a><br>
> , and just a little bit scared =) )<br>
><br>
> Judging by my S/O question, which got 3 upvotes and no answers, I'm not the<br>
> only one wondering:<br>
> <a href="https://stackoverflow.com/questions/46735539/erlang-regexp-matching-on-chinese-characters" rel="noreferrer" target="_blank">https://stackoverflow.com/questions/46735539/erlang-regexp-matching-on-chinese-characters</a><br>
><br>
> Here's the gist of the problem:<br>
><br>
> 57> "абв".<br>
><br>
> [1072,1073,1074]<br>
><br>
> The codes are correct Unicode for the [Cyrillic] characters - which means my<br>
> Terminal didn't fail to understand my keyboard's input =) but Erlang shell<br>
> didn't recognize Terminal's input as printable characters. And it is my<br>
> understanding that this is exactly why this call fails:<br>
><br>
> 25> re:run("йцу.asd", xmerl_regexp:sh_to_awk("*.*"), [{capture, none}]). **<br>
> exception error: bad argument in function re:run/3 called as<br>
> re:run([1081,1094,1091,46,97,115,100], "^(.*\\..*)$", [{capture,none}])<br>
<br>
Try<br>
<br>
re:run(<<"йцу.asd"/utf8>>, xmerl_regexp:sh_to_awk("*.*"), [{capture, none}]).<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div>