Regex 匹配除空行或仅包含空格的行之外的所有内容
匹配符合以下规则的所有行的最简单方法是什么:Regex 匹配除空行或仅包含空格的行之外的所有内容,regex,invert,Regex,Invert,匹配符合以下规则的所有行的最简单方法是什么: 这条线不是空的 该行不仅包含空格 我发现了一个表达式,它只匹配空行或那些只包含空格的行,但我无法反转它。这就是我发现的:^\s*[\r\n] 可以简单地反转正则表达式吗 多谢各位 只需验证至少有一个非空白字符: ^.*\S.*$ 说明: 从开始(^)到结束($) *-任意数量的任意字符 \S-一个非空白字符 要匹配非空行,可以使用以下启用多行模式的正则表达式(感谢@Casimir对字符类的更正): 行尾使用与除换行符外的任何字符匹配的* 看 要
^\s*[\r\n]
可以简单地反转正则表达式吗
多谢各位 只需验证至少有一个非空白字符:
^.*\S.*$
说明:
- 从开始(
)到结束(^
)$
-任意数量的任意字符*
-一个非空白字符\S
*
看
要仅检查行是否为空白(但不匹配),请使用简化版本:
^[^\S\r\n]*\S
看
[^\S\r\n]*
匹配0个或更多字符,而不是非空格、回车符和换行符。\S
与非空白字符匹配
顺便说一句,如果你用C#编写代码,你不需要正则表达式来检查字符串是否是空白,就像现在一样,只要用str.split(new[]{“\r\n”},StringSplitOptions.None)分割多行字符串就可以用
^[^\S\r\n]*\S
@CasimiretHippolyte:Yes,检查行是否不是空白,这是我对c方式的了解,我需要这个用于数据库;)谢谢忘记/m,忘记旧注释\S
意味着找到的行不是空的,也意味着它至少包含一个非空白字符。最好的办法是使用这个正则表达式grep行。
^[^\S\r\n]*\S