Ответ 1
m/^[^a-z]*$/
Для неанглийских символов
m/^[^\p{Ll}]*$/
Как вы можете определить, является ли строка все шапки с регулярным выражением. Он может включать знаки препинания и цифры, а также буквы в нижнем регистре.
m/^[^a-z]*$/
Для неанглийских символов
m/^[^\p{Ll}]*$/
Похоже, вы хотите: ^[^a-z]*$
Почему бы просто не использовать if (string.toUpperCase() == string)?._. Его более "изящный"... Я думаю, вы пытаетесь заставить в RegExp, но, как сказал кто-то другой, я не думаю, что это лучшее использование регулярного выражения...
Строка содержит строчную букву, если выражение /[a-z]/
возвращает true, поэтому просто выполните эту проверку, если она ложна, у вас нет строчных букв.
Простейшим может показаться:
^[^a-z]*$
Как насчет (s == uppercase(s))
→ string - все кепки?
$str="ABCcDEF";
if ( preg_match ("/[a-z]/",$str ) ){
echo "Lowercase found\n";
}
Если вы хотите совместить строку с другим регулярным выражением, убедившись, что букв в нижнем регистре нет, вы можете использовать положительный результат.
^(?=[^a-z]*$)MORE_REGEX$
Например, чтобы первый и последний символы были альфа-числовыми:
^(?=[^a-z]*$)[A-Z0-9].*[A-Z0-9]$