正则表达式:如果句子超过3个字符,则获取句子的第一个单词

时间:2012-08-10 09:42:56

标签: php regex

我需要一个正则表达式,如果句子的第一个单词超过3个字符或者满句子,则需要它。

例如:

Hello world -> Hello World
Eat jam -> Eat

谢谢!

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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