Regex 需要一个规则表达式,它不应该只允许字符串中的空格,它可以允许空格和字符

Regex 需要一个规则表达式,它不应该只允许字符串中的空格,它可以允许空格和字符,regex,Regex,需要一个规则表达式,它不应该只允许字符串中的空格,它可以允许空格和字符 e、 g:space+char+space是允许的,因为只有空格是不允许的 /^\s+$\ 根据您的条件,任何与上述表达式匹配的字符串都是无效的。如果您只是在寻找正匹配: /\S/ 如果要捕获: /(.*\S.*)/ 编辑: 实际上,如果您指的是文字空间: 在字符串上使用trim()之后,测试字符串的空性可能更容易、更快。您只需强制非空格字符至少出现一次: \s*\s+\s*/\s/足以匹配一个非空字符串。我不知道我们

需要一个规则表达式,它不应该只允许字符串中的空格,它可以允许空格和字符

e、 g:space+char+space是允许的,因为只有空格是不允许的

/^\s+$\

根据您的条件,任何与上述表达式匹配的字符串都是无效的。

如果您只是在寻找正匹配:

/\S/
如果要捕获:

/(.*\S.*)/
编辑

实际上,如果您指的是文字空间:


在字符串上使用trim()之后,测试字符串的空性可能更容易、更快。

您只需强制非空格字符至少出现一次:


\s*\s+\s*

/\s/
足以匹配一个非空字符串。

我不知道我们是否可以假设在OP所使用的语言中有trim方法可用using@Tomalak您仍然在对解析正则表达式的语言进行假设。我不认为OP在使用sed。然而,在大多数情况下,转义字符是相当标准的parsers@dusktreader我也没有做任何假设,尤其是塞德。我只是选择了一个紧凑的正则表达式符号来表达我的观点——你可以用正则表达式修剪字符串。正则表达式因语言而异——最好提及并标记你使用这个正则表达式的语言。Varma,如果其中一个答案对你有效,请过来接受答案。@Emily在elisp中,可以使用“\\S-”我认为elisp可能符合“几乎”。这有点奇怪;)这将不允许尾随空格,这被认为是有效的
/[ ]/