gpt4 book ai didi

c - 正则表达式匹配字符串

转载 作者:行者123 更新时间:2023-11-30 17:41:42 26 4
gpt4 key购买 nike

我正在实现一个编译器,我想做的一件事是使用“+”连接字符串,例如:

str_cnct = "hi" + "dear"

所以现在的值为“hidear”。

问题是我在 flex 中的正则表达式直接将所有内容捕获为给出“hi + Dear”的字符串。我当前的正则表达式是: \".*\"

{string}                {
yylval.struct_val.val.chain = (char *)malloc(sizeof(char)*yyleng);
strncpy(yylval.struct_val.val.chain,yytext,yyleng);
remove_char(yylval.struct_val.val.chain);
yylval.struct_val.length = yyleng;
yylval.struct_val.line = yylineno;
yylval.struct_val.column = columnno + yyleng + 2;
printf("--- String: %s\n", yylval.struct_val.val.chain);
return(STRING);
}

如何避免这种情况并捕获“hi”,然后捕获“+”作为运算符,然后捕获“dear”?

提前致谢

最佳答案

尝试如下操作:

^\"([^\"]*)\"\s*\+\s*\"([^\"]*)\"$

$1 将捕获不带引号的“hi”,$2 将捕获字符串““hi”+“dear”'的不带引号的“dear”。

关于c - 正则表达式匹配字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21025157/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com