Regular-Expression

正則表達式查詢以在匹配部分後查找數字

  • June 25, 2019
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

請幫忙,謝謝

我不確定您使用的是哪種正則表達式,但如果您想結合以下兩個正則表達式

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

即你想匹配任何一個正則表達式,你可以GH_使用?.

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

引用自:https://unix.stackexchange.com/questions/526716