に私は与えられたテキストが英語であるかどうかが、私は次を含めるかどうかを検出することができます正規表現パターンが必要です。英語正規表現のC#
- スペース
- は、数字や言葉を許可許可を すべての特殊文字を許可、複数の行やタブ
- を許可
- @の#$%^ & *()_- + = {} |/<>〜 ` ':"; []
- 許可するURL、Eメール !
- テキストに英語以外の文字が含まれている場合は、英語以外のテキストとみなす必要があります。テキストに「بت...など」などのアラビア語の文字/フランス語 "é、â...など"と他のすべての言語
簡単に言えば、任意の形式のテキストが英語であるかどうかを知る必要があります。私はパターンをたくさん試しましたが、私はそれを得ていませんでした。実際、アプリケーションはオフラインで使用されるため、言語検出器を使用する必要はありません。受理すべきではないテキストの
サンプル:
こんにちは! ...
مرحبابك
للتحميلاضغطهنا... http://www.google.com
テキストは英語以外の文字が含まれているのであれば、それは考慮されるべきである英語以外のテキストé。
ところで、私は「、 "\ P {IsArabic}" は、以下のパターンを使用してみました^ [A- zA-Z0-9&。\:/ - ] + $ "、"^[\ x20- \ x7E] + $ "、" [A-Za-z0-9。、 - = +(){}!@#$ %^&* _ [\] \\] "...しかし、すべてが私に間違った結果をもたらします。 –
カフェは英単語ですが、多くの言語は英語でも使われている文字の文字を持っています...とにかく、Unicodeカテゴリを調べます。 a-zでない文字を確認することができます。 – Ryan
あなたは正規表現からあまりにも多くの単語を探し出し、言語の検出をいくらか簡略化しています。 ***これは正規表現のためのものではありません***本当に。なぜ、[英語の単語リスト](http://www-01.sil.org/linguistics/wordlists/english/wordlist/wordsEn.txt)を読み込んで、あなたのテキストの中のいくつの単語が一致するのかを比較するのはなぜですか? – spender