zoukankan      html  css  js  c++  java
  • 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的很相似
  • 相关阅读:
    ES6-11学习笔记--正则表达式的扩展
    ES6-11学习笔记--字符串的扩展
    ES6-11学习笔记--Map
    ES6-11学习笔记--Set
    ES6-11学习笔记--Symbol
    final
    MySQL
    爬虫1
    laravel
    HTML学习
  • 原文地址:https://www.cnblogs.com/z2529827226/p/11870213.html
Copyright © 2011-2022 走看看