私は、次のような方法に出くわした:それは、次の試験合格できるようにするには本当にだなぜこれらの文字はこのElixir正規表現の正規表現に必要ですか?
@spec split_words(String.t) :: [String.t]
defp split_words(text) do
Regex.scan ~r/(*UTF)[\p{L}0-9-]+/i, text
end
:(*UTF)
は何
test "German" do
expected = %{"götterfunken" => 1, "schöner" => 1, "freude" => 1}
assert Words.count("Freude schöner Götterfunken") == expected
end
を - Elixirのは、特定のまたは正規表現の概念ということでしょうか?私は、文字列をUTFエンコーディングに "キャスト"することを推測しています。そして、\p{L}
は何ですか?ウムラウト文字を含むアルファベットを使用することを知らせるための、ある種の「エキスパンダー」ですか?
私は、このリポジトリにそれを見た:https://github.com/alxndr/exercism/blob/master/elixir/word-count/word_count.exs#L25
注:regex101.comは言う(* UTF)と(* UTF8)は、未知の動詞ですので、私はすべてではないPCREのフレーバー – Laurel
regex101 doesnのそれは、この正規表現の風味に特有だと思う、となり'tサポート '(* UTF)'と '(* UTF8)'、それだけです。これはPCRE機能です。 –
今日、私は2つのregex101バグを発見しました.... – Laurel