gpt4 book ai didi

linux - awk 正则表达式中的变量

转载 作者:太空狗 更新时间:2023-10-29 12:38:17 25 4
gpt4 key购买 nike

如何像这样将变量传递给正则表达式?

match($0, /([^ ]+) (GET|POST|PUT|DELETE) ([^?]+)[^ ]+ HTTP\/[^ ]+ \"(VAR)\" ([^ ]+) ([^ ]+) ([^ ]+)/, matches)

最佳答案

我不确定您要匹配的是什么,但如果它符合以下内容:

       GETxxxHTTPxxx"VAR"xxx

我觉得你可以这样走:

{
var1="(VAR)"
var="(GET|POST|PUT|DELETE)[x]+(HTTP)[x]+\"" var1 "\"[x]+"
match($0,var,dd);
for (x in dd){
print x,"-->",dd[x]
print"-"
}
}

使用上面的输入,产生以下输出:

0start --> 1
-
0length --> 21
-
3start --> 15
-
1start --> 1
-
2start --> 7
-
0 --> GETxxxHTTPxxx"VAR"xxx
-
1 --> GET
-
2 --> HTTP
-
3length --> 3
-
3 --> VAR
-
2length --> 4
-
1length --> 3
-

在 ideone 运行 here

关于linux - awk 正则表达式中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4077400/

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