JavaScript(少なくとも最も広く使用されているバージョン)は、Unicodeを完全にサポートしていません。つまり、\w
は、ラテン文字、10進数字、およびアンダースコア([a-zA-Z0-9_]
)のみに一致し、\b
は、単語文字と非単語文字の境界に一致します。
.match(/[\wа-я]+/ig); // where а is the Cyrillic а.
それとも好む場合:もちろん
.match(/[\w\u0430-\u044f]+/ig);
この意志ラテン語やキリル文字を使用した入力文字列内のすべての単語を検索するに
、あなたはこのような何かをする必要があると思いますおそらく、あなたのコードをちょっと微調整する必要があることを意味します。ここでは、単語の境界ではなくすべての単語にマッチするからです。 [а-я]
は、hereと記載されている「基本キリル文字」の文字と一致します。この範囲外の文字を一致させるには、必要に応じて文字セットを変更して、それらの文字を含めることができます。ロシア語のЁ/ёにも一致するには、[а-яё]
を使用します。また
.replace(/\[{3}[^]]*]{3}/g, '')
、あなたはXRegExpプロジェクト・ベースに新しい機能を追加するためのオープンソースプロジェクトである時に見たいと思うかもしれません:
はまた、あなたのトリプルブラケットパターンはに簡素化することができることに注意してくださいJavaScriptの正規表現エンジンとそのUnicodeアドオン。
あなたは何をしようとしているのか分かりませんが、 '.trim()。split(/ \ s + /)。 – Bergi
@Bergi OPは2つの単語として文字列 '' ... this。 'を数えたい場合はありません。 –