匹配所有遵循以下规则的行的最简单方法是:
我发现了一个仅匹配空行或仅包含空格的空行的表达式,但我无法将其反转。这是我发现的:^\s*[\r\n]
。
是否可以简单地反转正则表达式?
非常感谢你!
要匹配非空行,可以在多行模式为ON的情况下使用以下正则表达式(感谢@Casimir进行字符类更正):
^[^\S\r\n]*\S.*$
行尾使用.*
,与换行符匹配,除了换行符。
观看演示
要仅检查行是否不是空格(但不匹配),请使用简化版本:
^[^\S\r\n]*\S
观看另一个演示
在[^\S\r\n]*
比非空白和回车和换行码元以外0个或多个字符相匹配。在\S
一个非空白字符相匹配。
顺便说一句,如果您使用C#编写代码,则不需要正则表达式来检查字符串是否为空格,因为存在String.IsNullOrWhiteSpace
,只需使用分割多行字符串即可str.Split(new[] {"\r\n"}, StringSplitOptions.None)
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句