我想創建一個正則表達式,如果字符串模式包含空白或爲空,將返回false。到目前爲止,我有這個正則表達式不爲空而不是空白
[^\s]
我認爲這將確保該字符串不包含空格,但我不確定如何還要檢查,以確保它不是空的。任何幫助,將不勝感激。
我想創建一個正則表達式,如果字符串模式包含空白或爲空,將返回false。到目前爲止,我有這個正則表達式不爲空而不是空白
[^\s]
我認爲這將確保該字符串不包含空格,但我不確定如何還要檢查,以確保它不是空的。任何幫助,將不勝感激。
/^$|\s+/
如果匹配,則有空格或空格。
+1,但'+'不是必需的。 –
正確。 +不是必需的。只是不要把*放在那裏。 ;) –
在某些語言(例如Ruby)中,'^'和'$'表示開始或結束行,而不是字符串。但有趣的是,即使在這種情況下,表達式也能正常工作。 – skalee
大多數正則表達式引擎都支持「counter part」轉義序列。也就是說,對於\s
(空格),其計數器部分\S
(非空格)。
使用此項,您可以檢查是否至少有一個帶有^\S+$
的非空白字符。
PHPRE for PHP has several of these escape sequences。
正則表達式很好,但解釋有點誤導。您的正則表達式匹配一個完全由非空白字符組成的字符串,其長度至少爲一個字符。因此,它不僅僅是「檢查是否至少有一個非空白字符」。 –
爲什麼downvote?正則表達式解決了OP的問題 - 如果匹配,字符串不是空的,也不包含空格。 –
這是我的一個。我只是做了'str.match(/ \ S + /)' –
/^[\s]*$/
匹配空字符串和字符串包含空格,只有
這不是什麼媒體要求。 –
您可以在那裏刪除方括號。 '/^\ s * $ /'將執行相同的任務。 –
@Narendra:是的,但問題是要找到*在某處包含*空格字符的字符串,而不僅僅是*由空白字符組成。 –
在我的理解是你想匹配一個非空白和非空字符串,所以最好的答案是做相反的事情。我建議:
(.|\s)*\S(.|\s)*
- 這至少包含一個非空白字符(\S
在中間)的任何字符串相匹配。它可以前後任何字符或空白序列(包括新行) - (.|\s)*
。
您可以在https://regex101.com/的解釋上試一下。
在嘗試了所有針對此問題找到的各種不同答案之後,一個爲我工作! – friendoflore
你可以使用'str.length()== 0 || str.contains(「」)'爲此。 –