zoukankan      html  css  js  c++  java
  • SSCANF 正则表达式

    以下文字从网上考过来

    以下在PC上是可以正常运行的,得到的结果应该也是正确的,但是根据在MTK上的调试结果,发现并不完全适用,比如

    char *t2="abc123\r\n";

    int a2 ;

    char b2[100];

    sscanf(t2,"%[a-z]%d" , b2,&a2 );

    得到 b2的结果是a ,a2的结果是123

     

    但是在 PC上的结果应该是 b2:abc  a2:123   具体原因不明

    是否是MTK对SSCNAF正则表达式的支持不够,还是我哪里写错了。

    实践证明,在不同的平台上,代码的执行效果并不一定一样!!

    sscanf函数和正则表达式
    ]
    sscanf函数和正则表达式
    此文所有的实验都是基于下面的程序:

        char str[100];
        char str2[100];
        int val;

        sscanf( "abaAAA" , "%*[a-z]%s" , str);
        printf("%s\n" , str );

        // ^ 表示 非  ^A-Z 表示不是大写字母
        sscanf( "aaaAAA" , "%*[^A-Z]%s" , str );
        printf("%s\n" , str);

        //得到的是ccc ,因为在遇到A的时候,已经
        //不满足正则表达式了,所以函数会停止
        sscanf("cccAAAbbb" , "%[a-z]" , str );
        printf("%s\n" , str);

        sscanf("abcBBBBBccd" , "%[a-z]%*[B]%[a-z]" , str , str2 );
        printf("%s %s\n" , str , str2 );

        sscanf("AAAaaBC=" , "%*[A-Z]%*[a-z]%[A-Z]" , str );
        printf("%s\n" , str);


        //需要提取  www.aisex.com  homepage 8080
        //%*c 为跳过一个字符
        //可以以http:// 等字符串去前端过滤,但是一定要是完全前端匹配
        sscanf("http://www.aisex.com/homepage:8080" , "http://%[^/]%*c%[^:]%*c%d" , str , str2 , &val );
        printf("%s %s %d\n" , str , str2 , val );

        //%*[^w]的意思是 过滤掉不是w的字符
        sscanf("http://www.aisex.com/homepage:8080" , "%*[^w]%[^/]%*c%[a-z]%*c%d" , str , str2 , &val );
        printf("%s %s %d\n" , str , str2 , val );


        //sscanf中如果参数是%s的话,遇到空格就认为是字符串结束了
        sscanf("hello, world" , "%s" , str );
        printf("%s\n" , str );

        //%[a3h]表示匹配a、h、3中的字符,与顺序无关
        sscanf("wh3a3333aaatthefuck" , "w%[ah3]" , str );
        printf("%s\n" , str );

        孕妇能用护肤品吗

  • 相关阅读:
    Balance的数学思想构造辅助函数
    1663. Smallest String With A Given Numeric Value (M)
    1680. Concatenation of Consecutive Binary Numbers (M)
    1631. Path With Minimum Effort (M)
    1437. Check If All 1's Are at Least Length K Places Away (E)
    1329. Sort the Matrix Diagonally (M)
    1657. Determine if Two Strings Are Close (M)
    1673. Find the Most Competitive Subsequence (M)
    1641. Count Sorted Vowel Strings (M)
    1679. Max Number of K-Sum Pairs (M)
  • 原文地址:https://www.cnblogs.com/rollrock/p/2337264.html
Copyright © 2011-2022 走看看