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

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 "俄文";
    }




}

   
posted @ 2016-01-21 20:47  mfrbuaa  阅读(311)  评论(0编辑  收藏  举报