regex - 使用 sed 匹配同一行中的多个模式
问题描述
我有这个字符串,需要从中提取名称值(it-IT-SMTf00, ru-RU-SMTf00, en-GB-SMTf00
等):
[Voice[Name: it-IT-SMTf00, locale: ita_ITA_f00, quality: 300, latency: 300, requiresNetwork: false, features: [version=201709251, name=NA, pairedVariant=F01, gender=female]], Voice[Name: ru-RU-SMTf00, locale: rus_RUS_f00, quality: 300, latency: 300, requiresNetwork: false, features: [version=201709251, name=NA, pairedVariant=F01, gender=female]], Voice[Name: en-GB-SMTf00, locale: eng_GBR_f00, quality: 300, latency: 300, requiresNetwork: false, features: [version=201709251, name=NA, pairedVariant=F01, gender=female]], Voice[Name: pt-BR-SMTf00, locale: por_BRA_f00, quality: 300, latency: 300, requiresNetwork: false, features: [version=201709251, name=NA, pairedVariant=F01, gender=female]], Voice[Name: es-MX-SMTf00, locale: spa_MEX_f00, quality: 300, latency: 300, requiresNetwork: false, features: [version=201709251, name=NA, pairedVariant=F01, gender=female]], Voice[Name: en-US-SMTf00, locale: eng_USA_f00, quality: 300, latency: 300, requiresNetwork: false, features: [version=201709251, name=NA, pairedVariant=F01, gender=female]], Voice[Name: fr-FR-SMTf00, locale: fra_FRA_f00, quality: 300, latency: 300, requiresNetwork: false, features: [version=201709251, name=NA, pairedVariant=F01, gender=female]], Voice[Name: es-ES-SMTf00, locale: spa_ESP_f00, quality: 300, latency: 300, requiresNetwork: false, features: [version=201709251, name=NA, pairedVariant=F01, gender=female]], Voice[Name: de-DE-SMTf00, locale: deu_DEU_f00, quality: 300, latency: 300, requiresNetwork: false, features: [version=201709251, name=NA, pairedVariant=F01, gender=female]]]
使用regex101.com
我可以匹配我需要使用此正则表达式模式的模式:
Name: ([a-zA-Z0-9\-]+)
我对第 1 组感兴趣。问题是我如何使用 sed 做到这一点?
我试过echo STRING | sed -re "s/.*Name: ([a-zA-Z0-9\-]+).*/\1/g"
了,但这是贪婪的,只会返回de-DE-SMTf00
。
解决方案
推荐阅读
- unix - 按顺序提取捕获组
- java - Spring Boot 和 RethinkDB 保存未知结构的 JSON
- spring - 考虑在你的配置中定义一个“java.lang.String”类型的bean
- r - 在 R 中为 ggmap 注册 API 密钥
- javascript - 将旧设置与新设置相结合
- ios - swift中覆盖视图之间的差距
- c# - 参数化删除确认 Modal .NET Core 2.1
- wpf - 实体框架 6 不更新外键关系
- spring - Spring Batch 在第一次运行时运行良好,但对于第二次等运行......它一直失败,为什么?
- java - 将数据存储在用户不会更新的应用程序中的最佳方式是什么?