Php 如何从文本中提取大写部分?

Php 如何从文本中提取大写部分?,php,regex,string,Php,Regex,String,哪个php函数可用于从字符串中提取大写单词 例如,我有: 。。。包含大写部分的大文本… 我需要以编程方式从中提取大写部分 我已搜索了internet,但未找到任何解决方案。您可以使用\\b[a-Z]+\\b正则表达式获取以下所有大写字母: 以下是一份: 我会使用默认情况下区分大小写的正则表达式 $string='... a large text that contains CAPITALIZED PARTS ...' preg_match_all('%[A-Z]+%', $string, $ma

哪个php函数可用于从字符串中提取大写单词

例如,我有:

。。。包含大写部分的大文本…

我需要以编程方式从中提取
大写部分


我已搜索了internet,但未找到任何解决方案。

您可以使用
\\b[a-Z]+\\b
正则表达式获取以下所有大写字母:

以下是一份:


我会使用默认情况下区分大小写的正则表达式

$string='... a large text that contains CAPITALIZED PARTS ...'
preg_match_all('%[A-Z]+%', $string, $matches);
var_dump($matches);

使用调节器expression@Testing,我的问题确实是重复的。在问这个问题之前,我搜索了堆栈溢出,为什么我错过了那个问题。没问题。:)他们都给了你类似的答案,就像在那个问题上回答的一样OP仅要求
大写部分
不以
大写和小写开头
。你应该考虑发布一些代码>演示链接< /代码>。我看,帖子已经更新了。“大写”和ALLCAPS单词不一样。是的,你是对的。请考虑更新你的答案,因为它似乎是我的好答案。@测试:我现在更新了答案。但是,我不确定您想要单独的单词,还是全部的ALLCAPS单词?如果需要返回单词块,还应该在正则表达式中留出(空白)空间。非常欢迎。
Array                                                                                                                                                                                                                                                  
(                                                                                                                                                                                                                                                      
    [0] => CAPITALIZED                                                                                                                                                                                                                                 
    [1] => PARTS                                                                                                                                                                                                                                       
)     
preg_match_all('/\b([A-Z]+)\b/', $str, $matches);
$string='... a large text that contains CAPITALIZED PARTS ...'
preg_match_all('%[A-Z]+%', $string, $matches);
var_dump($matches);
$re = "/[A-Z]*/"; 
$str = "a large text that contains CAPITALIZED PARTS"; 
preg_match_all($re, $str, $matches);


$newArr = array();
foreach($matches[0] as $mat){
    if(strlen($mat)>0)
    $newArr[] = $mat; 
}
print_r($newArr);