首页
社区
课程
招聘
[求助]PCRE正则库匹配Unicode中文
发表于: 2014-6-21 11:10 6093

[求助]PCRE正则库匹配Unicode中文

2014-6-21 11:10
6093
在网上找了很多都不行。求高手。PCRE正则库匹配Unicode中文

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 2592
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
求高手。顶…………………………………………………………………………
2014-6-21 15:06
0
雪    币: 2592
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
news://b0fK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0S2K9h3c8#2i4K6u0W2j5$3!0E0
60eK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3S2S2L8K6p5J5x3#2)9J5k6h3y4G2L8b7`.`.
ftp://yjip123.com
9b7K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3S2B7K9X3E0Q4x3X3g2U0L8R3`.`.
e25K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6B7k6r3A6D9k6r3A6D9i4K6u0W2k6$3&6Q4x3X3g2U0L8W2!0q4z5q4!0n7c8W2)9&6z5g2!0q4y4W2)9&6z5q4!0m8c8W2!0q4y4#2)9&6b7W2!0m8c8g2!0q4y4W2!0m8x3q4)9^5y4#2!0q4y4g2!0m8c8q4)9&6y4#2!0q4y4#2!0m8b7#2!0m8y4W2!0q4y4q4!0n7z5q4!0n7x3W2!0q4y4#2)9&6y4q4!0m8z5q4)9J5z5q4)9J5z5q4)9J5z5q4)9#2b7#2)9#2b7%4S2F1i4K6g2o6i4K6g2o6P5r3g2Q4y4f1y4Q4y4f1y4^5N6#2)9#2b7#2)9#2b7%4S2K6i4K6t1&6i4K6N6o6i4K6t1^5i4K6g2o6i4K6g2o6P5r3k6Q4y4f1y4Q4y4f1y4^5N6q4)9#2b7#2)9#2b7%4S2H3i4K6t1&6i4K6N6o6i4K6t1^5i4K6g2o6i4K6g2o6P5r3S2Q4y4f1y4Q4y4f1y4^5N6q4)9#2b7#2)9#2b7%4S2@1i4K6g2o6i4K6g2o6P5s2m8Q4x3U0S2Q4y4f1y4Q4y4f1y4^5M7#2)9J5z5g2)9K6c8W2)9J5z5g2)9J5z5g2)9#2b7#2)9#2b7%4S2Q4x3@1q4Q4y4f1y4Q4y4f1y4^5i4K6u0r3i4K6g2o6i4K6g2o6P5q4)9J5c8W2)9J5z5g2)9J5k6g2)9J5b7g2!0q4y4g2)9^5b7#2!0n7z5g2!0q4z5g2)9^5y4g2)9^5c8q4!0q4x3#2)9^5x3q4)9^5x3W2!0q4y4q4!0n7z5q4!0n7b7g2!0q4y4q4!0n7b7W2)9^5x3q4!0q4y4q4!0n7z5g2)9^5z5q4!0q4y4g2)9^5c8W2!0m8b7g2!0q4z5q4)9^5x3#2!0n7c8q4!0q4y4g2)9^5b7#2!0n7z5g2!0q4z5g2)9^5y4g2)9^5c8r3S2@1N6s2m8K6i4@1f1#2i4K6V1J5i4K6S2o6K9s2c8@1M7q4)9J5b7$3&6W2N6%4y4Q4c8e0g2Q4z5e0u0Q4z5p5y4X3N6s2m8Q4c8e0W2Q4z5o6y4Q4b7V1c8Q4c8e0c8Q4b7U0S2Q4z5p5c8Q4c8e0S2Q4z5o6y4Q4b7V1c8Q4c8e0g2Q4z5p5y4Q4b7U0W2Q4c8e0W2Q4z5o6g2Q4z5p5c8Q4c8e0S2Q4b7V1k6Q4z5e0W2Q4c8e0k6Q4z5e0S2Q4b7f1k6Q4c8e0c8Q4b7U0S2Q4b7V1q4Q4c8e0c8Q4b7V1u0Q4z5o6m8Q4c8e0c8Q4b7U0W2Q4z5o6S2Q4c8e0y4Q4z5o6m8Q4z5o6u0Q4c8e0S2Q4b7V1k6Q4z5e0W2Q4c8e0k6Q4z5e0S2Q4b7f1k6Q4c8e0g2Q4z5f1y4Q4b7e0S2g2L8X3W2U0L8$3c8W2i4@1f1@1i4@1t1^5i4K6S2n7i4@1f1&6i4K6W2p5i4@1p5J5i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1@1i4@1t1^5i4K6S2p5i4@1f1%4i4K6W2r3i4@1p5#2i4@1f1&6i4K6R3I4i4K6V1K6i4@1f1^5i4@1u0r3i4K6V1&6i4@1f1$3i4@1p5H3i4@1t1%4i4@1f1$3i4@1q4p5i4@1p5K6i4@1f1#2i4K6R3^5i4K6V1&6i4@1f1^5i4@1p5I4i4@1p5^5i4@1f1^5i4@1u0q4i4@1u0q4i4@1f1#2i4@1u0o6i4K6S2r3i4@1f1$3i4@1q4p5i4@1p5K6i4@1f1@1i4@1t1^5i4K6S2p5i4@1f1$3i4@1q4p5i4@1p5K6i4@1f1%4i4@1p5I4i4@1q4q4i4@1f1K6i4K6R3H3i4K6R3J5i4@1f1$3i4@1t1J5i4@1p5I4i4@1f1#2i4K6W2o6i4@1p5^5i4@1f1%4i4@1u0p5i4K6V1I4i4@1f1@1i4@1t1^5i4K6S2m8i4@1f1$3i4K6R3&6i4@1u0q4i4@1f1#2i4K6R3^5i4@1t1H3i4@1f1#2i4K6R3#2i4@1t1K6i4@1f1%4i4@1t1K6i4@1u0n7i4@1f1#2i4K6S2o6i4@1t1&6i4@1f1&6i4K6R3#2i4K6S2p5g2h3&6A6j5$3!0V1k6g2!0q4y4#2!0n7b7#2)9&6y4W2!0q4y4#2!0m8x3q4)9^5x3g2!0q4y4q4!0n7z5q4)9^5b7W2!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4g2!0m8c8q4)9&6y4#2!0q4y4#2!0m8b7#2!0m8y4W2!0q4y4q4!0n7z5q4!0n7x3W2!0q4x3#2)9^5x3q4)9^5x3W2)9J5z5q4)9J5z5q4)9J5z5q4)9#2b7#2)9#2b7%4S2F1i4K6g2o6i4K6g2o6P5r3g2Q4y4f1y4Q4y4f1y4^5N6#2)9#2b7#2)9#2b7%4S2K6i4K6t1&6i4K6N6o6i4K6t1^5i4K6g2o6i4K6g2o6P5r3k6Q4y4f1y4Q4y4f1y4^5N6q4)9#2b7#2)9#2b7%4S2H3i4K6t1&6i4K6N6o6i4K6t1^5i4K6g2o6i4K6g2o6P5r3S2Q4y4f1y4Q4y4f1y4^5N6q4)9#2b7#2)9#2b7%4S2@1i4K6g2o6i4K6g2o6P5s2m8Q4x3U0S2Q4y4f1y4Q4y4f1y4^5M7#2)9J5z5g2)9K6c8W2)9J5z5g2)9J5z5g2)9#2b7#2)9#2b7%4S2Q4x3@1q4Q4y4f1y4Q4y4f1y4^5i4K6u0r3i4K6g2o6i4K6g2o6P5q4)9J5c8W2)9J5z5g2)9J5k6g2)9J5b7b7`.`.
2014-6-23 19:30
0
雪    币: 2592
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
网上找到的可以用,找到很久才找到哎。
#include <..\pcre\include\pcre.h>  
  
int _tmain(int argc, _TCHAR* argv[])  
{  
    std::wstring sSrcReal = L"ahsf(agsh艾丝凡);asghjgah(ahsjhj);(&*(^&&*AS%Q(asg1asg); ajshfghasfg";  
    std::string sSrcRealUtf_8 = CW2A(sSrcReal.c_str(), CP_UTF8);  
  
     
    // 使用PCRE提取用户ID  
    std::string sRulesUtf_8 = CW2A(L"(?<=\\()[\\w\u4E00-\u9FFF]+(?=\\);)", CP_UTF8);  
  
    int nOptions = PCRE_EXTENDED | PCRE_UTF8;  
    const char *pError;  
    int nErroffset;  
  
    // 构造pcre结构  
    pcre *pRe = pcre_compile(  
        sRulesUtf_8.c_str(),  
        nOptions,  
        &pError,               /* for error message */  
        &nErroffset,           /* for error offset */  
        NULL);                /* use default character tables */  
  
    std::vector<std::wstring> sPcreOut;  
    int nPos = 0;  
    int nRet = 1;  
    while(pRe && nRet > 0)  
    {  
        int ovector[30];   // 必须为3的整数倍  
          memset(&ovector, -1, sizeof(ovector));  
      
        // 执行正则表达式匹配  
        nRet = pcre_exec(  
            pRe,                   /* the compiled pattern */  
            NULL,                 /* no extra data - we didn't study the pattern */  
            sSrcRealUtf_8.c_str(),//subject,              /* the subject string */  
            (int)sSrcRealUtf_8.size(),       /* the length of the subject */  
            nPos,                    /* start at offset 0 in the subject */  
            0,                    /* default options */  
            ovector,              /* output vector for substring information */  
            sizeof(ovector) / sizeof(ovector[0]));           /* number of elements in the output vector */  
  
        // ovector[0]存储匹配的首字符位置,ovector[1]存储匹配字符串后的第一个不匹配的字符位置  
        if(nRet > 0)  
        {  
            nPos = ovector[1];  
            std::string sSub = sSrcRealUtf_8.substr(ovector[0], nPos - ovector[0]);  
            std::wstring sTemp = CA2W(sSub.c_str(), CP_UTF8);  
            sPcreOut.push_back(sTemp);  
        }  
    }  
      
    return 0;  
}
2014-6-26 14:39
0
游客
登录 | 注册 方可回帖
返回