[英]How to restrict more than one whitespace in Java Regex?
將為JavaFX文本字段開發一種驗證,其中允許單個空格,但不允許多個空格。
例如,“ Apple Juice”(蘋果汁)-正確的“ Apple Juice”(蘋果汁)-錯誤應該受到限制
if (title.matches("[a-zA-Z0-9 ]+"))
找到了幾個鏈接,但不符合我的要求。 我認為這更多是合乎邏輯的調整。
你可以做:
if (title.matches([a-zA-z]+[ ][a-zA-Z]+))
[a-zA-z]+
檢查空格之前的所有字符。 [ ]
檢查一個空格。 [a-zA-z]+
檢查空格后是否有任何字符。 Abcd<space>
或<space>Abcd
,(I使用<spcace>
如SO不允許兩個空間,以同時存在),那么可以更換+
s的*
峰,即
if (title.matches([a-zA-z]*[ ][a-zA-Z]*))
你可以做
if ("Apple Juice".matches("\\w+ \\w+")) {
.......
您最好找到多個空格,然后取反:
if(!title.trim().matches("\s{2,}"))
,請參見java.util.regex.Pattern javadoc的語法。 字符串首先被修剪,因此您無需檢查非空白字符。 如果不執行trim()操作,則還會考慮前導和尾隨空格。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.