匹配遵循这些规则的所有行的最简单方法是什么:
我找到的表达式只匹配空行或那些只包含空格的行,但我无法将其反转。这是我发现的:^\s*[\r\n]
。
是否可以反转正则表达式?
非常感谢!
答案 0 :(得分:2)
要匹配非空行,您可以在多行模式下使用以下正则表达式(感谢@Casimir进行字符类校正):
^[^\S\r\n]*\S.*$
行尾使用.*
,匹配任何字符,但换行符。
请参阅demo
要检查该行是否不是空格(但不匹配),请使用简化版本:
^[^\S\r\n]*\S
请参阅another demo
[^\S\r\n]*
匹配除非空格和回车符以及换行符号之外的0个或多个字符。 \S
匹配非空白字符。
顺便说一句,如果您使用C#进行编码,则不需要正则表达式来检查字符串是否为空格,因为String.IsNullOrWhiteSpace
只是将多行字符串拆分为str.Split(new[] {"\r\n"}, StringSplitOptions.None)
。< / p>
答案 1 :(得分:1)