Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要一个正则表达式来不匹配以空格开头和/或结尾但在空格之间匹配的字符串。我不是正则表达式的专家。
如果需要,我可以使用 2 个正则表达式。
注意:.用于在示例中显示空格。
.
匹配为假
.text. ..text text.. ..te.xt..
匹配为真
text te..xt
我想出了这个。它只匹配起始空格。
^(?!\s+).*$
您可以将\S字符类与^和$锚点一起使用。
\S
^
$
^\S(.*\S)?$
需要可选的.*\S分组来匹配单个非空格字符。
.*\S
匹配你不想要的然后否定它可能更容易:
!Regex.IsMatch(input, @"(^\s)|(\s$)")
这种模式应该可以解决问题:
^\s*.*?\s*$
和用法:
Regex.IsMatch(input, @"^\s*.*?\s*$");