• java与c++的正则表达式的小总结


    Java的正则表达式的书写方式:
    private String reg="\d+@\w*\.\w{3}";//正则表达式
        //"\d"表示0-9的一个数字"+"表示前缀\d有1个或者多个
        //"\."表示正则表达式中的."\w"表示a-zA-Z0-9字符或者数字
        //"{3}"表示有三个前缀,相当于"+"的一种变式
        //而{n,}表示有n个前缀及以上
        //{n,m}表示有n-m个前缀(含边界)
        //例子:space.matches("456581464@qq.com");
    C++的正则表达式的书写方式:
    由于c++/c标准中都不支持直接使用正则表达式,但是可以通过一些函数间接的调用正则表达式
    下面就来介绍两种可以支持正则表达式的函数,sscanf与ssprintf
    函数原型:sscanf(char *src,char *fromate);与ssprintf(char*src,char*fromate);
    两者的参数样式大致相同
    sscanf与scanf的主要区别就在于:scanf是从键盘中获取资源,而sscanf是从src这个原字符串中获取资源
    sprintf与printf的主要区别在于:printf是将资源打印到屏幕上而sprintf则是将资源放入到src这个参数中
    如sprintf(src,"%d.%d.%d",2019,11,6);cout<<src;------2019.11.6
    又如sscanf("2019.11.6","%d.%d.%d",&year,&month,&day);就是他们的只要的用法-----接下来就来介绍关键的正则的用法
    如其他的用法,比如对某个网址的进行分割sscanf("www.baidu.com/cccss.html","%[^/]%s",host,others);
    char host[1024];
        int data=0;
        int val=0;
        cout<<scanf("%d:%d",&data,&val)<<endl;  //默认用空格对数据的输入进行划分
        //也可至指定数据时输入的格式如:%d:%d
        cout<<sscanf_s("www.baidu.com//html.com","%[^/]",host)<<endl;
        cout<<host<<endl;
    在某些方面确实和Java的很相似
  • 相关阅读:
    17. 文件查找
    18. 后台进程
    16. Linux 文件目录权限
    15. SSH 远程
    14. 用户管理
    Emacs Python 自动补全--Elpy
    C++ 程序在运行时不显示dos界面
    OpenCV设置摄像头分辨率及全屏显示
    #error : Xiron Platform Abstraction Layer
    Win10 下Cmake编译配置 Opencv3.1 + Cuda7.5 + VS2013
  • 原文地址:https://www.cnblogs.com/z2529827226/p/11870213.html
Copyright © 2020-2023  润新知