0

我需要一个正则表达式来获取句子的第一个单词,如果它有超过 3 个字符或完整的句子。

例如:

Hello world -> Hello World
Eat jam -> Eat

谢谢!

4

2 回答 2

1

使用这个正则表达式^\s*?\w{3,}\b.+

于 2012-08-10T09:45:27.860 回答
1

如果第一个单词少于或等于3 个字符,则您的示例将使用第一个单词,否则使用完整的句子。但是对于该要求,您可以使用

^[a-zA-Z]{1,3}(?![a-zA-Z])|^.*$

快速 PowerShell 测试:

PS> $re = '^[a-zA-Z]{3}(?![a-zA-Z])|^.*$'
PS> 'Hello world','Eat jam' |%{$_-match $re|Out-null;$Matches}

Name                           Value
----                           -----
0                              Hello world
0                              Eat
于 2012-08-10T09:45:49.197 回答