如何使用正则expression式检查一行是否为空
我试图做简单的正则expression式,将检查一行是否是空白的。
案件;
" some" // not blank " " //blank "" // blank 你想要的模式是这样的多行模式:
 ^\s*$ 
说明:
-   ^是string锚的开始。
-   $是string锚的结尾。
-   \s是空格字符类。
-   *是零或更多的重复。
 在多行模式中, ^和$也匹配行的开始和结束。 
参考文献:
- regular-expressions.info/Anchors,Character Classes和Repetition 。
一个非正则expression式的替代方法:
 您也可以通过trim()来检查给定的stringline是否为“空白”(即仅包含空格),然后检查结果string是否为空isEmpty() 。 
在Java中,这将是这样的:
 if (line.trim().isEmpty()) { // line is "blank" } 
 正则expression式解决scheme也可以在没有锚的情况下简化(因为在Java中定义了如何matches ),如下所示: 
 if (line.matches("\\s*")) { // line is "blank" } 
API参考
-  String String.trim()- 返回string的副本,省略前导和尾随空白。
 
-  boolean String.isEmpty()-  当且仅当length()为0返回true。
 
-  当且仅当
-  boolean String.matches(String regex)- 判断这个(整个)string是否与给定的正则expression式匹配。
 
其实在多线模式下更正确的答案是:
 /((\r\n|\n|\r)$)|(^(\r\n|\n|\r))|^\s*$/gm 
 接受的答案: ^\s*$与最后一行为空时(多行模式下)不匹配。 
尝试这个:
 ^\s*$ 
 最便携的正则expression式是^[ \t\n]*$匹配一个空string(注意,您需要用tab和换行符replace\t和\n )和[^ \n\t]非空白string。 
 这里空白的意思是你的意思。 
 一行包含完整的空格或一行不包含任何内容。 
 如果你想匹配一个不包含任何内容的行,可以使用'/ ^ $ /'。 
 充分感谢bchr02这个答案 。 但是,我不得不稍微修改一下,以获得具有*/ (结束注释)后面跟着一个空行的行。 正则expression式匹配非空行与*/ 。 
 新: (^(\r\n|\n|\r)$)|(^(\r\n|\n|\r))|^\s*$/gm 
 我所做的只是加^作为第二个字符来表示行的开始。 
那么…我修饰(使用notepad ++),这是我find的解决scheme
\ n \ S
\ n为行尾(在哪里你开始匹配) – 插入符号将不会在我的情况下,因为行的开始是一个string\ s需要任何空间,直到下一个string
希望它有帮助