我有大量的文本,我只需要單引號內的內容(不包括單引號)。
例如,這是我正在搜索的內容的簡化版本。
output line from channel: [2021-11-14 15:59:20] config='954'!
output line from channel: [2021-11-14 15:59:21] DEBUG: job_name='test' disabled=true
output line from channel: [2021-11-14 15:59:25] DEBUG: job_id='a185' configsized
我想回來
a185
到目前為止,我擁有的正則運算式是這樣的,但它回傳 jobid='' - 以及我需要的資料。我嘗試使用捕獲組,但我認為您可以將其洗掉?
我的正則運算式技能陳舊且脫節,哈哈:-)
(job_id=)'[^']*'
請注意,該行必須DEBUG在某處匹配所有內容。
uj5u.com熱心網友回復:
您可以使用
DEBUG.*job_id='([^']*)'
并獲取第 1 組值。請參閱正則運算式演示。詳情:
DEBUG- 一個DEBUG字串.*- 除換行符以外的任何零個或多個字符,盡可能多job_id='- 一個job_id='字串([^']*)- 捕獲組 1:任何零個或多個字符,而不是''- 一個'字符。
在線查看Go 演示:
package main
import (
"fmt"
"regexp"
)
func main() {
markdownRegex := regexp.MustCompile(`DEBUG.*job_id='([^']*)'`)
results := markdownRegex.FindStringSubmatch(`output line from channel: [2021-11-14 15:59:25] DEBUG: job_id='a185' configsized`)
fmt.Printf("%q", results[1])
}
// => "a185"
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/358289.html
