欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【笔记】vscode 正则表达式

程序员文章站 2022-06-26 11:34:19
...

1.常用通配符:

https://juejin.im/post/5cee4f6c518825332550cd9d

https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference


【1】//Matches the previous element zero or more times.

Quantifier	   Description           	 Pattern	          Matches

    .     //匹配任意字符(匹配次数 n==0||1)  a.c                 ac,abc  
          //查找以a开头,以c结束的字符串

    .*    //匹配任意字符任意次数             a.*c                 a1b23c

eg:    input                    search_result
        a.*c       abcabcabcabc   //匹配以“a”开始,以"c"结束的任意字符串
                                  //(仅以最后一次出现字符“c”为结束)
?     //非贪婪运算符
.*?   //仅以第一次出现结束字符为终止



\     //转义运算符

eg:      input         search_result  
        fun\(.*\)       fun(type1,type2,...,typen)
//由于"()"为取值运算符,匹配"("和“)”,需要进行转义运算

回到我们最初的目的实现查找特定函数fun_name,并替换其中的某个参数int2为int3
fun_name(char,int1,int2,double1)   

正则表达式的查找方式:
fun_name\(.*\)     //转义括号,匹配所有fun_name()函数

正则表达式的查找替换
查找:fun_name\((.*)\)   //(),取值运算,做查找替换是可以用 $1 取值
替换:fun_name($1)       //替换不需要做转义运算
                        //此语句并没有替换任何字符

查找:fun_name\((.*?),(.*?),(.*?),(.*?)\) //?:第一次遇到","就会停止

如果写成 fun_name\((.*),(.*),(.*),(.*)\)  //没有"?"运算符
$1=“char,int1,int2,double1”
而不是 $1=“char”

正确写法:
查找:fun_name\((.*?),(.*?),(.*?),(.*?)\)
替换:fun_name($1,$2,int3,$4)




【笔记】vscode 正则表达式

相关标签: 笔记 cscode