现在我有一个正则表达式,我想改变正则表达式的一部分。
(.{3,}?) ~
^ ---代码的这一部分,它所说的,(任何长度为3或更多的字符,并匹配最近的空格),我想将其更改为(任何字符,除了空格,长度为3或更多,并匹配最近的空格)。我怎么说在正则表达式?
$text = "my name is to habert";
$regex = "~(?:my name is |my name\\\'s |i am |i\\\'m |it is |it\\\'s |call me )?(.{3,}?) ~i";
preg_match($regex, $text, $match);
print_r($match);
结果:
Array ( [0] => my name [1] => my name )
需要结果:
Array ( [0] => name [1] => name )
答案 0 :(得分:1)
这里有掘墓人......由于这个问题还没有答案,我会发布我的。
(\S{3,})
将满足您的需求
正则表达式说明:
(
打开捕获组
\S
除了空格之外的所有内容(与[^\s]
相同),您也可以使用[^ ]
,但后者仅适用于空格。)
{3,}
必须包含三个或更多字符
)
关闭捕获组