使用 grep 从键值对列表中提取值

丹尼尔·兰图霍夫

我有一个包含键值对列表的字符串,如下所示:“a:1,b:2,c:3”。我想为指定的键提取一个值,例如,我会为“a”获得“1”。我打算用这样的正则表达式来做:

'(?<=(^|,)$KEY:)^,*'

但似乎 grep 不支持环视。(我什至不确定这个正则表达式是否正常工作。)还有其他方法吗?

维克多·斯特里比尤夫

您可以使用

grep -oP "(?:^|,)$KEY:\K[^,]+"

-o选项输出匹配。-P启用 PCRE 引擎。双引号是字符串插值所必需的,以便$KEY可以进行插值。

模式匹配:

  • (?:^|,) - 字符串或逗号的开头
  • $KEY-KEY变量
  • : - 冒号
  • \K - 匹配重置运算符,丢弃到目前为止匹配的整个文本
  • [^,]+ - 1+ 个字符,除了 ,

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用键值从多维数组中提取值

来自分类Dev

使用python从.txt文件中的键值对中提取值

来自分类Dev

如何在Linux中使用grep或awk从xml的字符串中提取值

来自分类Dev

使用R从列表列表中提取值

来自分类Dev

使用R从列表列表中提取值

来自分类Dev

C#-使用反射从List <Class>中提取值列表

来自分类Dev

创建一个使用键值对的字符串,并通过键从中提取值

来自分类Dev

使用grep regex从arp表中提取MAC地址

来自分类Dev

使用grep / sed / awk从字符串中提取单词

来自分类Dev

使用grep / sed / awk从字符串中提取单词

来自分类Dev

使用grep / AWK从ASCII文件中提取数据

来自分类Dev

使用grep和awk从日志文件中提取特定行

来自分类Dev

如何使用grep从日志中提取电子邮件

来自分类Dev

使用 sed/grep/awk 从流中提取数字

来自分类Dev

使用 grep/sed 从 XML 文件中提取单词

来自分类Dev

使用另一个列表中的索引从列表中提取值

来自分类Dev

使用 grep 访问列表元素

来自分类Dev

使用具有布尔表达式的数组从列表中提取值

来自分类Dev

使用每两个数字之间的小数范围的索引从列表中提取值

来自分类Dev

使用下划线从javascript中的对象列表中提取值

来自分类Dev

如何使用类似 this.val() 的方法从列表中的输入中提取值?

来自分类Dev

使用tidyr从列中提取值

来自分类Dev

使用SuperObject从JSON文件中提取值

来自分类Dev

无法使用lxml从HTML中提取值

来自分类Dev

Python使用键从文本中提取值

来自分类Dev

使用Python ElementTree从XML中提取值

来自分类Dev

使用HtmlAgilityPack从html中提取值

来自分类Dev

使用Python从compactRio中提取值

来自分类Dev

使用SuperObject从JSON文件中提取值

Related 相关文章

热门标签

归档