PHP:查找所有以“:”开头的单词

2024-05-05

你能帮我用 PHP 函数/正则表达式在给定的文本中找到所有以字符“:”开头的单词吗?

..换句话说,所有以“:”开头并用“”(空格)分隔的子字符串


Since :word应该可能是有效的,我想:word:another应该算两个词,那么你就不能说总有一个空格。

自然语言中的单词后面可以跟点和其他字符。
在数字输入中,它们后面可以跟行尾。

我建议使用这个正则表达式:

~:\w+~

需要任何:字符后跟至少一个字母字符,并且将以任何非有效字母的字符结束。

例子:在 RegExr.com 上 http://regexr.com/3aga7

你也可以尝试~:\w+\b~, where \b是单词边界(字面意思是单词的结尾),但我认为这里没有必要。

Note: \w代表[a-zA-Z0-9_]意思是它捕获下划线_和数字0-9以及。它的工作方式非常类似于 PHP 中的变量/函数命名


编辑(一些使用说明):

你说在给定的文本中(我理解就像随机输入一样)你想提取所有前缀为:, 例如:word。要轻松做到这一点,您应该使用preg_match_all() http://php.net/manual/en/function.preg-match-all.php功能与PREG_PATTERN_ORDER flag.

Example:

$regex = '~(:\w+)~';
if (preg_match_all($regex, $input, $matches, PREG_PATTERN_ORDER)) {
   foreach ($matches[1] as $word) {
      echo $word .'<br/>';
   }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP:查找所有以“:”开头的单词 的相关文章

随机推荐