0

おやすみなさい、

私は現在、正規表現マッチングに基づいて C# で人間の言語用の非常に単純な字句解析器に取り組んでおり、現在、ターゲット言語で可能なすべての句読点記号と一致できる正規表現と、一致できる別のものを指定する問題に直面しています。あらゆる種類の空白。\p{P}ここスタックオーバーフローと別のサイトで検索した後、句読点と句読点にそれぞれ正規表現を使用できることがわかりました\p{Z}テキストファイルから読み取るときに機能します。問題は、最終的なプログラムでは、SQL データベースからレコードを読み取り、この字句解析器を使用してそれらを処理する必要があるということです。DB 内のレコードのエンコーディングが何であるかはわかりません。これはこの状況で問題になる可能性がありますか? 上記の正規表現は、エンコーディングに関係なく、入力のすべての句読点と空白文字に一致できますか?

どうもありがとうございました。

4

1 に答える 1

2

The .NET Framework will convert strings to Unicode from the database. Whether it converts them correctly depends on whether something told it what the database text encoding was. But the strings your Regex sees will be in Unicode.

So, assuming that the database access layer correctly converted the text from the database record, you don't have to worry about encoding because it's always Unicode.

于 2010-11-20T19:47:45.667 に答える