FAQ > 金融建模 > 建模问题 > 报错信息汇总

Q:用匹配串"[^\u4E00-\u9FA5]+"匹配汉字报错:unbalanced [] at offset 2    

  • A:匹配串中\u表示unicode串,要表示unicode字符,则需要将匹配串转换成Unicode字符表达式
    范例:

    source:=L'yes嘿嘿no呵呵';//unicode串
    RegExpr:=L"[\u4E00-\u9FA5]+";//unicode串
    ParseRegExpr(RegExpr,source,'mi',result,mpos,mlen);
    return result;

    //返回:


    还可以通过函数multibytetounicodew将多字节字符串转换成Unicode字符串,如下:

    source:=multibytetounicodew('yes嘿嘿no呵呵',936);//unicode串
    RegExpr:=L"[\u4E00-\u9FA5]+";//unicode串
    ParseRegExpr(RegExpr,source,'mi',result,mpos,mlen);
    return result;
    //返回结果与上个范例结果一致

    相关链接:FAQ:MultibytetoUnicodew