如何测试字符串是否在perl中只是空白

| 用正则表达式测试字符串是否只有空白字符的好方法是什么?     
已邀请:
if($string=~/^\\s*$/){
    #is 100% whitespace (remember 100% of the empty string is also whitespace)
    #use /^\\s+$/ if you want to exclude the empty string
}
    
(我决定编辑我的文章,以在下面与tobyodavies的对话中包含概念。) 在大多数情况下,您要确定某个东西是否为空格,因为空格相对无关紧要,并且您想跳过仅由空格组成的字符串。因此,我认为您要确定的是是否有重要字符。 所以我倾向于使用反向检验::1ѭ。确定谓词“字符串包含一个有效字符”。 但是,要应用您的特定问题,可以通过测试否定确定它:
$str !~ /\\S/
    
您的正则表达式语句应查找^ \\ s + $。它将至少需要一个空格。 如果您想知道,\“空白定义为[\\ t \\ n \\ f \\ r \\ p {Z}] \”。请参阅http://userguide.icu-project.org/strings/regexp。
\\t  Match a HORIZONTAL TABULATION, \\u0009.
\\n  Match a LINE FEED, \\u000A.
\\f  Match a FORM FEED, \\u000C.
\\r  Match a CARRIAGE RETURN, \\u000D.
\\p{UNICODE PROPERTY NAME}   Match any character with the specified Unicode Property.
    
如果要检查给定的
String
是否在正则表达式中仅包含空格字符…
String given_string=\"   \\t \"; //add spaces and tabs any white space character
System.out.println(given_string.matches(\"^\\\\s+$\"));
它将检查从字符串开头到结尾的至少一个空格字符,如果出现任何非空格字符,它将返回false。它适用于NULL情况和换行情况(^ _ ^ )     

要回复问题请先登录注册