C++builder正则表达式

如果在要限输入框控件的内容为5位数字,可以用正则式以判断.代码如下:

#include <pcre.h>
void __fastcall TForm1::Button34Click(TObject *Sender)
{
    char szReg[]="^\\d{5}$";        // 限定为5位数字
    char szStr[]="10025";

    const char      *pszErr;
    int             nErrOffset;
    pcre *re = pcre_compile(szReg,0,&pszErr,&nErrOffset,NULL);// 先准备表达式
    if(re==NULL)
    {
        return ;
    }
    int ovector[30];    // 数量由szReg决定,大致为(括号对数+1)*3,可以用pcre_info获得或者直接留大一点。
    int len = strlen(szStr);
    int rc = pcre_exec(re, NULL, szStr, len, 0, ovector, 30);   // 执行匹配
    //如果只是想知道匹配结果,只要到这一步就可以了,当rc大于0,就是匹配成功
    for(int i=0; i<rc; i++)
    {
        char *substring_start = szStr + ovector[2*i];
        int substring_length = ovector[2*i+1] - ovector[2*i];
        //printf("%2d: %.*s/n", i, substring_length, substring_start);
    }
    free(re);  

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值