Можно ли написать регулярное выражение, которое будет соответствовать любым словам в строке с двумя заглавными буквами в начале их.Построение регулярного выражения в php
Как:
$ строка = "Dear John"
Можно ли написать регулярное выражение, которое будет соответствовать любым словам в строке с двумя заглавными буквами в начале их.Построение регулярного выражения в php
Как:
$ строка = "Dear John"
Да. Используйте класс upper
символов, который относится к прописным символам:
http://php.net/manual/en/regexp.reference.character-classes.php
([[:upper:]][[:upper:]][[:alpha:]]*)
Испытана на http://regex101.com/ в режиме PHP PCRE.
Поскольку вы, кажется, помечены в своем вопросе «сопоставить любые слова в строке с двумя заглавными буквами в начале их», вы можете использовать Unicode Property \p{Lu}
, который соответствует прописной букве с нижним регистром и Unicode Property \p{Ll}
, которая соответствует строчной букве с верхним регистром.
/\p{Lu}{2}[\pLu\pLl]*/u
Однако вы могли бы пойти с основным регулярным выражением.
/[A-Z]{2}(?i:[a-z]*)/