Php 正则表达式:如果一个句子有超过3个字符,则获取它的第一个单词
我需要一个正则表达式,如果一个句子有超过3个字符或完整的句子,它可以得到第一个单词 例如:Php 正则表达式:如果一个句子有超过3个字符,则获取它的第一个单词,php,regex,Php,Regex,我需要一个正则表达式,如果一个句子有超过3个字符或完整的句子,它可以得到第一个单词 例如: Hello world -> Hello World Eat jam -> Eat 谢谢 使用此正则表达式^\s*?\w{3,}\b.+如果第一个单词少于或等于3个字符,您的示例将使用第一个单词,否则将使用完整的句子。但对于这个要求,您可以使用 ^[a-zA-Z]{1,3}(?![a-zA-Z])|^.*$ 快速PowerShell测试: PS> $re = '^[a-zA-Z]{3
Hello world -> Hello World
Eat jam -> Eat
谢谢 使用此正则表达式
^\s*?\w{3,}\b.+
如果第一个单词少于或等于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
它必须是正则表达式吗?Either?像一个空字符串一样可以吗?试试这个:/^\s*(\w{3,})\b/如果不是三个字母,则完整的句子。因为在许多编程语言中,
\w
是一种模糊地表示标识符中可用字符概念的东西,但在处理文本时几乎没有用处。或者你的单词中经常有下划线或数字吗<代码>\b是根据\w
定义的,因此它同样无用。