Qt中用正則表達式来推断Text的语种,主要通过推断unicode的编码范围

时间:2024-09-06 10:37:14
QString MainWindow::ParseLanguage(QString Text)
{
    if(Text.length()<=0)
    {
        return "";
    }
    QString sRegNum = "[0-9]+";
    QString sRegEn = "[a-zA-Z]+";
    QString sRegCn = "[\\x4e00-\\x9fff]+";
    QString sRegRu = "[\\x0400-\\x052f]+";
    QRegExp rx;
    rx.setPattern(sRegNum);
    if(rx.exactMatch(Text))
    {
        return "数字";
    }
    rx.setPattern(sRegEn);
    if(rx.exactMatch(Text))
    {
        return "英文";
    }
    rx.setPattern(sRegCn);
    if(rx.exactMatch(Text))
    {
        return "中文";     }
    rx.setPattern(sRegRu);
    if(rx.exactMatch(Text))
    {
        return "俄文";
    } }