Quantcast
Channel: 質問!ITmedia 新着質問(Java/253)
Viewing all articles
Browse latest Browse all 2439

英数字と記号の正規表現

$
0
0
英数字と記号の文字であればtrueを返すような判定を正規表現で行いたいです。 英数字の判定([0-9a-zA-Z])、記号([\\p{Punct}]+)の判定は個別にテストして動作したのですが、二つを組み合わせて書くようにするにはどのようにすればよいのでしょうか? 当然ですが、以下のように書くと文字列の全てがそれぞれ記号なのか、英数字なのかを判定してしまうためfalseを返してしまいます。 String str = "~!@#$%^&*()_+{}|:"<>?`-=[]\;',./1234567890abcdefgxyz"; System.out.println(str.matches("[\\p{Punct}]+") || str.matches("[0-9a-zA-Z]+")); 以上、宜しくお願いします。

Viewing all articles
Browse latest Browse all 2439

Trending Articles