Regular Expressions
UTF-8マッチャー:文字、マーク、句読点など
サーチ…
異なるアルファベットでの文字のマッチング
以下の例はRubyで与えられていますが、同じmatcherは現代的な言語で利用できるはずです。
メッシー人工知能によって作られた文字列"AℵNaïve"
があるとしましょう。これは文字で構成されていますが、一般的な\w
マッチャーはあまり一致しません:
▶ "AℵNaïve"[/\w+/]
#⇒ "A"
ユニコード文字と結合マークをマッチさせる正しい方法は\X
を使って書記素クラスタを指定することです。しかし、Rubyの警告があります。 Rubyの正規表現エンジンであるOnigmoは、まだgraphemeクラスターの古い定義を使用しています 。 Unicode Standard Annex 29で定義されているExtended Grapheme Clusterにはまだ更新されていません。
だから、Rubyのために私たちは、回避策を持っている可能性があり: \p{L}
、ほとんど問題ない、それは上の組み合わせ発音区別アクセントに失敗したために保存されますi
:
▶ "AℵNaïve"[/\p{L}+/]
#⇒ "AℵNai"
式に「記号を付ける」を追加することで、最終的にすべてを照合することができます。
▶ "AℵNaïve"[/[\p{L}\p{M}]+/]
#⇒ "AℵNaïve"
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow