我试图使简单的正则表达式,将检查一行是否为空白。
情况;
" some" // not blank
" " //blank
"" // blank
我试图使简单的正则表达式,将检查一行是否为空白。
情况;
" some" // not blank
" " //blank
"" // blank
当前回答
你想要的模式在多行模式下是这样的:
^\s*$
解释:
^是弦锚的开始。 $是字符串锚的结束。 \s是空白字符类。 *是零或多次重复。
在多行模式下,^和$也匹配行首和行尾。
引用:
regular-expressions.info/Anchors,字符类和重复。
一个非正则表达式的替代方案:
你也可以检查给定的字符串行是否为“空白”(即只包含空白),通过trim()-ing它,然后检查结果字符串是否为empty()。
在Java中,这可能是这样的:
if (line.trim().isEmpty()) {
// line is "blank"
}
regex解决方案也可以在没有锚的情况下简化(因为Java中如何定义匹配),如下所示:
if (line.matches("\\s*")) {
// line is "blank"
}
火参考文献
字符串String.trim () 返回字符串的副本,省略前导和尾随空格。 布尔String.isEmpty () 当且仅当length()为0时返回true。 布尔值的字符串。正则表达式匹配(字符串) 告诉这个(整个)字符串是否匹配给定的正则表达式。
其他回答
试试这个:
^\s*$
最可移植的正则表达式是^[\t\n]*$来匹配空字符串(注意,您需要相应地用制表符和换行符替换\t和\n)和[^ \n\t]来匹配非空白字符串。
你想要的模式在多行模式下是这样的:
^\s*$
解释:
^是弦锚的开始。 $是字符串锚的结束。 \s是空白字符类。 *是零或多次重复。
在多行模式下,^和$也匹配行首和行尾。
引用:
regular-expressions.info/Anchors,字符类和重复。
一个非正则表达式的替代方案:
你也可以检查给定的字符串行是否为“空白”(即只包含空白),通过trim()-ing它,然后检查结果字符串是否为empty()。
在Java中,这可能是这样的:
if (line.trim().isEmpty()) {
// line is "blank"
}
regex解决方案也可以在没有锚的情况下简化(因为Java中如何定义匹配),如下所示:
if (line.matches("\\s*")) {
// line is "blank"
}
火参考文献
字符串String.trim () 返回字符串的副本,省略前导和尾随空格。 布尔String.isEmpty () 当且仅当length()为0时返回true。 布尔值的字符串。正则表达式匹配(字符串) 告诉这个(整个)字符串是否匹配给定的正则表达式。
在这里,Blank的意思就是你想表达的意思。 一行包含满空格或一行不包含任何内容。 如果你想匹配不包含任何内容的行,那么使用'/^$/'。
嗯…我摆弄了一下(使用notepadd++),这就是我找到的解决方案
\n\s
\n表示行结束(从哪里开始匹配)——在我的情况下,插入符号不会有帮助,因为行开始是一个字符串 \s占用下一个字符串之前的任何空格
希望能有所帮助