首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含文字[和]的模式

包含文字[和]的模式
EN

Unix & Linux用户
提问于 2023-02-24 18:14:36
回答 1查看 42关注 0票数 -1

使用下面的beg_ere模式,如何将(asmb)包含在文字[]中?

代码语言:javascript
复制
#!/usr/local/bin/awk -f
BEGIN {
  beg_ere = "^[[:space:]]*([#;!]+|@c|//)[[:space:]]+(faml) [(asmb)]([[:space:]]*).*$"
}

$0 ~ beg_ere { print "MATCH" }

其中famlasmb是用户定义的字符串,如果不是用户定义的字符串,则由"[[:graph:]]+"描述。

在这种情况下

代码语言:javascript
复制
beg_ere = "^[[:space:]]*([#;!]+|@c|//)[[:space:]]+(faml) [([[:graph:]]+)]([[:space:]]*).*$"

当使用带有以下行的文件时,将不会打印匹配

代码语言:javascript
复制
## HD [opcon]

## HD [opcon] key

## HD [opcon] akey,bkey  

可以用逗号分隔任意数量的键。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2023-02-24 18:26:06

你只需要用反斜杠逃离他们。

但是,由于regex位于双引号字符串中,因此反斜杠需要转义。

代码语言:javascript
复制
  beg_ere = "^[[:space:]]*([#;!]+|@c|//)[[:space:]]+(HD) \\[([[:graph:]]+)\\]([[:space:]]*).*$"
  # .....................................................^^^..............^^^
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/736784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档