Определите, является ли строка всеми заглавными буквами с регулярным выражением

Как можно определить, является ли строка всеми заглавными буквами с регулярным выражением. Это может включать пунктуацию и числа, просто никакие строчные буквы.

20
задан Brian 24 February 2010 в 05:56
поделиться

8 ответов

Похоже, вы хотите: ^ [^ a-z] * $

10
ответ дан 30 November 2019 в 00:00
поделиться

Почему бы просто не использовать if (string.toUpperCase () == string)? ._. Это более "элегантно" ...
Я думаю, вы пытаетесь принудительно использовать регулярное выражение, но, как сказал кто-то другой, я не думаю, что это лучшее использование регулярного выражения ...

4
ответ дан 30 November 2019 в 00:00
поделиться

Строка содержит строчную букву, если выражение / [az] / возвращает истину, поэтому просто выполните эту проверку, если она ложна, у вас есть без строчных букв.

2
ответ дан 30 November 2019 в 00:00
поделиться

Если вы хотите сопоставить строку с другим regex после того, как убедились, что в ней нет строчных букв, вы можете использовать положительный lookahead.

^(?=[^a-z]*$)MORE_REGEX$

Например, чтобы убедиться, что первый и последний символы являются буквенно-цифровыми:

^(?=[^a-z]*$)[A-Z0-9].*[A-Z0-9]$
0
ответ дан 30 November 2019 в 00:00
поделиться

Самый простой вариант:

^[^a-z]*$
1
ответ дан 30 November 2019 в 00:00
поделиться
$str="ABCcDEF";
if ( preg_match ("/[a-z]/",$str ) ){
    echo "Lowercase found\n";
}
0
ответ дан 30 November 2019 в 00:00
поделиться

Как насчет (s == прописные буквы) -> строка состоит только из заглавных букв?

0
ответ дан 30 November 2019 в 00:00
поделиться
m/^[^a-z]*$/

Для неанглийских символов,

m/^[^\p{Ll}]*$/
21
ответ дан 30 November 2019 в 00:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: