キーの後にカンマがあるかキーが行末にある場合に一致するパターン(java regexp)が必要です。すなわちそれは、以下の両方に一致する必要がありますシンボルOR行末パターン
1. xxxkey,yyy
2. xxxkey
アイブ氏は[\\,$]
パターンを試してみましたが、それは動作しません。
キーの後にカンマがあるかキーが行末にある場合に一致するパターン(java regexp)が必要です。すなわちそれは、以下の両方に一致する必要がありますシンボルOR行末パターン
1. xxxkey,yyy
2. xxxkey
アイブ氏は[\\,$]
パターンを試してみましたが、それは動作しません。
$
文字クラス内では、その特別な意味が失われます。代わりに以下を使用します。
key(,|$)
あなたがあなたの代わりに非キャプチャグループを使用することができ、カンマがあったかどうかを知る必要がない場合:
key(?:,|$)
は
...これを試してみてください"xxxkey(?:,\\w*)?$"
か -
"xxxkey(?:,.*)?$"
か -
"xxxkey(?:,|$)"
あなたのニーズに応じて
,
それは文字ではありません、文字ではなく、$
は特別です。
試してください。,?
は、1つのカンマまたはカンマがないことを意味し、それに続いて$
と表示されます。
はここで何が必要です:
.*key((,.*)|$)
どのように文字クラス内で特別な意味を持つ文字をエスケープするのでしょうか? – Oliver
感謝します!!!!!! )) – shift66
@Oliver:単純に '$'をエスケープすることではありません。それは文字ではなくアンカーなので、特別な意味を失うことなく、文字クラス*に入れることはできません。いずれにしても、Java正規表現の構文については、http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.htmlを参照してください。 – NPE