我在 awk 文件中使用以下正则表达式
beg_ere = "^[[:space:]]*([#;!/]{2}|@c)[[:space:]]+(HD) [[](OPCON)[]] .*[[:space:]]*$"
有了它我可以匹配以下几行
## HD [OPCON] this,that
## HD [OPCON] this,that,other
但不是
## HD [OPCON]
我该如何改变beg_ere
才能匹配## HD [OPCON]
?
this,that,other
是一系列用逗号分隔的关键字。一行中可以有任意数量的关键字,也可以没有。
答案1
尝试
beg_ere = "^[[:space:]]*([#;!/]{2}|@c)[[:space:]]+(HD) [[](OPCON)[]].*$"
注意:前面的单个空格被删除.*
;[[:space:]]*
之后也删除了多余的内容。