我需要從以下位置捕獲 4 個組:
John.7200_24.6.txt.gz
輸出:
Group1: John
Group2: 7200
Group3: 24
Group4: 6
這是我的正則運算式: ([^.|_|data|gz] )
它捕獲具有多個匹配項的單個組。我該如何解決?
uj5u.com熱心網友回復:
這個模式([^.|_|data|gz] )可以寫成([^._datagz|] )它使用否定字符類來匹配 1 個字符而不是列出的單個字符。
您使用單個捕獲組進行拆分,如果您想要 4 個單獨的組,則應創建 4 個組并進行匹配而不是拆分。
^(\w )\.(\d )_(\d )\.(\d )
^字串的開始(\w )\.捕獲第 1組中的1 個單詞字符并匹配.(\d )_捕獲第 2 組中的1 個數字并匹配_(\d )\.捕獲第 3 組中的1 個數字并匹配.(\d )捕獲第 4 組中的1 個數字
正則運算式演示
或者匹配完整的示例字串:
^(\w )\.(\d )_(\d )\.(\d )\.\w \.gz$
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/348212.html
標籤:正则表达式
