2016-05-04 12 views
0

単一の空白が許可されているが複数の空白が許可されていないJavaFXテキストフィールドに対して検証を開発する必要があります。例えばJava Regexの複数の空白を制限するにはどうすればよいですか?

、「アップルジュース」 - 正しい「アップルジュース」 - 間違った は、リンクのカップルが、私の要件を満たしていないが見つかり

if (title.matches("[a-zA-Z0-9 ]+")) 

を制限する必要があります。私はそれがもっと論理的な微調整だと信じています。

あなたが行うことができます

Whitespace Matching Regex - Java

Regex allowing a space character in Java

答えて

2

if (title.matches([a-zA-z]+[ ][a-zA-Z]+)) 
  • スペースの前に任意の文字を最初[a-zA-z]+チェック。
  • [ ]は、正確に1つのスペースを確認します。
  • 2番目の[a-zA-z]+は、空白文字の後にある文字を確認します。


注:これは、スペースが文字列の間にある場合にのみ一致します。あなたが Abcd<space>または <space>Abcdのような文字列を一致させたい場合は、あなたが *秒で +秒を置き換えることができます(私は、SO 2つのスペースが同時に存在することはできませんので <spcace>を使用)。すなわち、

if (title.matches([a-zA-z]*[ ][a-zA-Z]*)) 
1

あなたができました

if ("Apple Juice".matches("\\w+ \\w+")) { 
....... 
0

を行う方が良い、単一の空白文字以上のものを見つけて、その結果を否定したい:

if(!title.trim().matches("\s{2,}")) 

、構文については、java.util.regex.Pattern javadocを参照してください。文字列は最初にトリムされるので、空白以外の文字をチェックする必要はありません。 trim()操作をしないと、先頭と末尾の空白も考慮されます。

関連する問題