我是 RE2 語法正則表達式的新手,我想匹配特定字符串之后的第一個單詞。例如:java.lang.OutOfMemoryError: Java heap space
Error sending periodic eventjava.lang.NullPointerException: Java heap space
Error sending periodic event我想捕捉之后發(fā)生的任何事情,這樣java.lang.我就可以得到錯誤。我知道在 Python 和 PCRE 中,我們可以使用積極的后視來做到這一點,而正則表達式將是 - ,但這不適用于 RE2。OutOfMemoryErrorNullPointerException(?<=java.lang.).*?(?=\s)
1 回答

慕桂英3389331
TA貢獻2036條經(jīng)驗 獲得超8個贊
您可以使用
java\.lang\.([^\s:]+)
細節(jié)
java\.lang\.
- 一個java.lang.
子串([^\s:]+)
- 捕獲組 1:除空格和 . 之外的一個或多個字符:
。
注意:如果您需要在空格之間獲取所有文本java.lang.
并:
后跟空格,請使用java\.lang\.(.*?):\s
.
package main
import (
"fmt"
"regexp"
)
func main() {
regex := regexp.MustCompile(`java\.lang\.([^\s:]+)`)
result := regex.FindStringSubmatch("java.lang.OutOfMemoryError: Java heap space Error sending periodic event")
fmt.Printf("%q", result[1])
}
- 1 回答
- 0 關(guān)注
- 118 瀏覽
添加回答
舉報
0/150
提交
取消