【发布时间】:2020-05-06 21:03:50
【问题描述】:
我有这个字符串要使用正则表达式 awk 进行匹配:
如果 ldcTotal 0.000000
所以我尝试了这个:
if(match(linha, /^(\t| )*(if)(\t| )+(\<ldc\w*)[ \t]*([<>])[ \t]*(ldc\w*|[0-9]|[0-9]+(\.[0-9]*))/) > 0){
print "match: "substr($0, RSTART, RLENGTH);
}
但这只是得到带有 > 或
什么是正确的正则表达式? 谢谢
【问题讨论】:
-
使用
<>而不是[<>]。后者匹配<或>,而不是组合字符串。 -
这会导致语法错误。
-
为什么?
<>在 awk 正则表达式中没有特殊含义。 -
是的,有! 表示隔离一个像 这样的词
-
No
\<和\>是单词边界:需要反斜杠。