2016-09-29 24 views
-3
私は、次の文字列を解析しようとしている

に動作していないため(私が推測するフランス語です):正規表現は、Unicode文字は、.NET

L'操作NE PEUT ETREこのためEFFECTUéE

私はこれを作りましたでもでも正常に動作している[\ p {L} '] +しかし問題は私が私を走らせると同じ正規表現が動作しないということです。 .netコード。 L'までしかピッキングされていません。

スナップショットが添付されています。 ありがとうございます。 enter image description here

enter image description here

+3

問題を再現できるように、[mcve] *をテキスト*として入力してください。スクリーンショットはテキストよりも扱いが難しいです。 –

+1

正規表現オブジェクトをどのようにインスタンス化するかを示す必要があります。 'L'OPの後の'é'が単一のUnicodeコードポイントであると確信していますか?分音符がある文字がある場合は、 '[\ p {L} \ p {M} '] +' –

+0

を使う必要があります。正規表現の問題ではありませんでした。ネットでは、正規表現のテスターで働いています。 –

答えて

1

私は、問題を発見した、それはすべてのファイルにあったし、正規表現オブジェクトに到達した文字列は、それは同じではありませんでしたとき、私は、そう

MemoryStream mm = new MemoryStream(unzippedfile, false); 
StreamReader sr = new StreamReader(mm, true); 

のようにそのファイルを読んでいたと思います、 になりました L'OPULRATION NE PEUT TREEFFECTU E。

しかし、私は今、自分のコードを変更しました:

のStreamReaderのSR =新しいStreamReaderを(ミリメートル、Encoding.UTF7、真の);

それはすべて正常に動作します。あなたのコメントをありがとう私はあなたのコメントからの手掛かりを得た。