【发布时间】:2020-01-17 13:22:12
【问题描述】:
我正在尝试匹配以下句子
ldcValue = 0.00
我尝试创建的正则表达式必须匹配:
- 关系运算符的左边必须是一个以“ldc”为前缀的变量。
- 中间必须是关系运算符 "", "=", ">=" , "
- 右边必须是一个以“ldc”作为前缀或数字如“0.0”或“0.0d”开头的变量
我试过这个正则表达式:
if(match(line, "/(\<(ldc)\w*)(\t| )+(\=|>|<|>=|<=)\(\t| )*(\<(ldc)\w*)|\w*") > 0){
print "match: "substr($0, RSTART, RLENGTH);
}
但不匹配。
输入示例
ldcValue > 0.00
ldcValue = 0
ldblValue = ad_value / llDias
ldcValue = ad_Value * ldblFator
预期输出匹配:
ldcValue > 0.00
ldcValue = 0
什么是正确的正则表达式?
谢谢。
【问题讨论】:
-
edit 您的问题是提供示例输入,其中包含与您的目标字符串匹配和不匹配的几行以及由此产生的预期输出。确保输入涵盖非平凡的情况,例如以
fooldcValue开头的字符串和以ldcValue !- 0.0开头的字符串等,因此脚本可能很难不正确匹配。还包括在单行上有多个匹配项(如果存在)的情况。 -
感谢您的建议,但无需添加重要的示例,因为我确信这不会发生在我的情况下。