- 題名: \pの正規表現のエスケープ方法
- 日時: 2005/01/28 7:24:54
- ID: 8759
- この記事の返信元:
- (なし)
- この記事への返信:
- [8760] Re[1]: \pの正規表現のエスケープ方法2005/01/28 9:26:24
- ツリーを表示
# 短絡的に答えだけ求めるとお叱りを受けるかも。 ■No8782に返信(てんてんさんの記事) > 何度も読み直して言われる意味を理解しようとがんばったのですが > アドバイスを理解出来ませんでした。 ソースコード上にあるエスケープシーケンスを含んだ文字列、それをコンパイ ラが解釈した結果の値としての文字列、さらに正規表現パーサが解釈するエス ケープ文字と解釈した結果の照合対象文字、それらすべて勘案しなくてはなり ませんよ、といった話でしょうね。 > 結局\parを正規表現でどう記述すればよいのでしょうか 正規表現としての \p は、Unicode のグループやブロック範囲を表す文字クラ スです。照合対象文字としての \p を表現するにはエスケープ文字を使う必要 があります。ただし、\ は通常のリテラル文字列においてのエスケープシーケ ンスに使われますから、文字列としての \ を表現するにはエスケープシーケ ンスを使う必要があります。 かくて、通常のリテラル文字列を使って正規表現の照合対象文字としての \par を表現しようとすると、非常に冗長に見える記述が必要になります。ですから、 普通は正規表現としての文字列には、逐語的リテラル文字列を使うことが多い ようです。 まあ、早い話が、 "\\\\par\\r\\n" か、 @"\\par\r\n" と書けってことです。
分類:[.NET]
お世話になります てんてんです。
文字列の中で
「\par\r\n」を検索したいのですが、
Regex("\\par\r\n", RegexOptions.IgnoreCase);
で設定したのですが以下のエラーが出ます。
System.ArgumentException' のハンドルされていない例外が system.dll で発生しました。
追加情報 : 解析中 "\par
" - 間違った形式の \p{X} エスケープ文字です。
解決策アドバイス頂けないでしょうか
それでは 失礼致します。