正则表达式查询在匹配部分后查找数字

正则表达式查询在匹配部分后查找数字
instance=hostname1, topic=“AB_CD_EF_12345_ZY_XW_001_000001”
instance=hostname2, topic=“AB_CD_EF_1345_ZY_XW_001_00001”
instance=hostname1, topic=“AB_CD_EF_1235_ZY_XW_001_000001”
instance=hostname2, topic=“AB_CD_EF_GH_4567_ZY_XW_01_000001”
instance=hostname1, topic=“AB_CD_EF_35678_ZY_XW_001_00001”
instance=hostname2, topic=“AB_CD_EF_56789_ZY_XW_001_000001”

我尝试了以下详细信息,它们作为单独的查询可以很好地工作:

/*.topic="AB_CD_EF_([^_]+).*/

12345
1345
1235

/*.topic="AB_CD_EF_GH_([^_]+).*/

4567
35678
56789

我需要一个正则表达式,它可以将我输出为:

12345
1345
1235
4567
35678
56789

请帮忙,谢谢

答案1

我不确定您正在使用什么风格的正则表达式,但如果您想组合以下两个正则表达式

/*.topic="AB_CD_EF_([^_]+).*/
/*.topic="AB_CD_EF_GH_([^_]+).*/

即你想匹配任何一个正则表达式,您可以GH_使用 使该部分可选?

/*.topic="AB_CD_EF_(GH_)?([^_]+).*/

相关内容