• ベストアンサー

正規表現の添削をお願いします

アルファベットと数字とスペースと「-」のみで構成される任意の長さの文字列をjavaの正規表現であらわしたいです。 [\s0-9a-zA-Z-]+ でいいのでしょうか? 最後の「-」がまずいような気がするのですが、[-]はどこに持っていくのが正しいのでしょうか。 他にも間違っているところがありましたら、教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
noname#23393
noname#23393
回答No.2

Java でコードを書いて確認したわけではないですが、一般的に "-" は [] 内の先頭か末尾に配置すれば "-" 自身として扱われるはずです。 以下 Wikipedia より引用 文字 '-' は括弧内の最初か最後にあるときのみ、リテラルに扱われる。例えば、[abc-] や [-abc]。

参考URL:
http://ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE
aneja
質問者

お礼

さっそくのご回答、ありがとうございます。 これでよかったんですね…WikiPediaは見逃していました。 勉強になりました。

その他の回答 (1)

noname#23118
noname#23118
回答No.1

いやそれで問題ないはずです。 [ 0-9a-zA-Z-]+でも問題ないですよー

aneja
質問者

お礼

さっそくのご回答、ありがとうございます。 これでよかったんですね…勉強になりました。

関連するQ&A