正则表达式匹配字符串不开始和/或以空格结尾但允许在空格之间

时间:2013-02-20 00:04:28

标签: c# regex

我需要一个正则表达式来匹配以空格开头和/或结尾但在空格之间匹配的字符串。我不是正则表达式的专家。

如果需要,我可以使用2个正则表达式。

注意:使用.显示示例中的空格。

匹配为false

 .text.
 ..text
 text..
 ..te.xt..

匹配

 text
 te..xt

我想出了这个。它只匹配起始空格。

^(?!\s+).*$

3 个答案:

答案 0 :(得分:7)

您可以将\S字符类与^$锚点一起使用。

^\S(.*\S)?$

需要使用可选的.*\S分组来匹配单个非空格字符。

答案 1 :(得分:1)

可能更容易匹配您不想要的内容然后否定它:

!Regex.IsMatch(input, @"(^\s)|(\s$)")

答案 2 :(得分:0)

这种模式可以解决问题:

^\s*.*?\s*$

用法:

Regex.IsMatch(input, @"^\s*.*?\s*$");