zoukankan      html  css  js  c++  java
  • 取C语言头文件的文件名

    main.c内容如下
     1 #include <str1.h>
     2 #include "str2.h"
     3 #include<str3.h>
     4 #include"str4.h"
     5 #include        <str5.h>
     6 #include        "str6.h"
     7     #include <str7.h>
     8     #include "str8.h"
     9 #include < str9.h >
    10 #include " str10.h "

    shell下执行cat main.c | sed -nre 's/^[[:space:]]*#include[[:space:]][<"]([^>"./]+).*$$/1/p'后

    结果:

    1 str1
    2 str2
    3 str7
    4 str8
    5  str9
    6  str10
    s/    ^[[:space:]]*#include[[:space:]][<"]([^>"./]+).*$$   /    1    /p
     ^[[:space:]]    *#include[[:space:]]    [<"]    (    [^>"./]+    ).*$$    

    正则表达式

    简单测试方法:

    1 打开一个终端,输入grep ‘正则表达式’

    2 输入对应表达式就会出现与上述‘正则表达式’匹配的结果。

    eg1:匹配一个单词hello,

    grep 'hello'

    hello,;hello , hello  等都是匹配的,而helloWorld等是不匹配的,是匹配一个单词的开始或结束。

    eg2:匹配一个单词,g*gle其中*的位置可以是1个或3个0

    grep 'go{1,3}gle'

    {x}表示前一个字符可以重复x次,{x,y}表示前一个字符可以重复x-y次(注意shell下‘{’的转义)

    eg3:匹配以cn开头的字符串

    grep '^cn'

    一个不错的参考

  • 相关阅读:
    pyinstaller 打包后无法运行
    Android Uiautomator2 gradlew 坑
    JNDI 在 J2EE 中的角色
    23种设计模式
    Struts2工作原理
    SpringMVC工作原理
    堆内存设置
    安装和使用 memcached
    SQL面试题及答案
    30多条mysql数据库优化方法,千万级数据库记录查询轻松解决
  • 原文地址:https://www.cnblogs.com/cntsw/p/4268161.html
Copyright © 2011-2022 走看看