regex 如何在PHP中检测字符串是否包含1个大写字母

qyzbxkaa  于 2023-06-25  发布在  PHP
关注(0)|答案(5)|浏览(127)

找不到此功能。我假设我需要使用正则表达式?
我尝试在php中做html重定向,如果url包含至少1个大写字母。
示例:http://www.domain.com/Michael_Jordan需要重定向到http://www.domain.com/michael_jordan-唯一的问题是我似乎找不到一个脚本来检测是否存在至少1个大写字母。

sshcrbum

sshcrbum1#

一些正则表达式应该可以工作的,可以使用preg_match[A-Z]

if(preg_match('/[A-Z]/', $domain)){
 // There is at least one upper
}
waxmsbnn

waxmsbnn2#

if (strtolower($url) != $url){
  //etc...
i7uq4tfw

i7uq4tfw3#

你也可以试试这个

if (!ctype_lower($string)) {
    // there is at least une uppercase character
}

我不确定这是否比其他两种方法更有效。

zazmityj

zazmityj4#

preg_match_all('%\p{Lu}%u', 'aA,éÁ,eE,éÉ,iI,íÍ,oO,óÓ,öÖ,őŐ,uU,úÚ,üÜ,űŰ', $m);
echo '<pre>';
var_dump($m);
echo '</pre>';

用匈牙利语utf-8字符测试,[A-Z]仅用于拉丁语1。

disbfnqx

disbfnqx5#

下面是一个简单的例子:

$mydir = "C:\Users\John" ;

print preg_match('/^[A-Z]:\.*/', $mydir, $match )."\n" ;
print $match[0]. " preg match \n" ;

生产:

1
C: preg match

这表明括号是不必要的--至少对于一个匹配来说是这样
看看下面的内容,以便更具体地了解您的应用程序:PHP to SEARCH the Upper+Lower Case mixed Words in the strings?

相关问题