Why does the code

StringMatchQ["ы", LetterCharacter]

return False?

Probably because:

StringMatchQ["ы", LetterCharacter] // HoldForm // FullForm

How can I use the LetterCharacter pattern with Cyrillic symbols?

  • 6
    $\begingroup$ I have notified WRI about this problem in August. But this problem still persists in 10.0.2. Also there are problems with ToUpperCase, ToLowerCase and other functions that use option IgnoreCase (LongestCommonSequence, SequenceAlignment). Sort in some cases also didn't work with russian letters correctly. $\endgroup$ Dec 27, 2014 at 10:03
  • $\begingroup$ Hi ! Although informative this does not answer the question at hand. It is better suited as a comment and also contains a mistake. The so called Cyrillic letters are not Russian :) $\endgroup$
    – Sektor
    Dec 27, 2014 at 10:17

1 Answer 1


Your code

StringMatchQ["ы", LetterCharacter]

returns False, because only the following characters are treated as letters:

StringJoin[Select[Characters[FromCharacterCode[Range[2^16 - 1]]], LetterQ]]


and LetterCharacter only matches the characters for which LetterQ gives True.
You can include Cyrillic symbols using:

StringMatchQ["ы", LetterCharacter | RegularExpression["[А-я]"]]

Or define your own

letterCharacter = LetterCharacter | RegularExpression["[А-я]"]

StringMatchQ["ы", letterCharacter]

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.