我得到了一個充滿東西的文本。我想匹配msg
的每一次出現,直到{
。匹配正則表達式{
我的正則表達式看起來像這樣regex = re.compile('"msg".+"{"')
。
根據我的理解,這應該直接匹配msg
,然後任何一次或多次達到{
。
但是沒有得到結果。如果我只使用msg
它打印出來,但我需要打印整個結果(直到{)。
我試圖使用.{14}
但由於字符的數量總是不同,所以這是無濟於事的。
我得到了一個充滿東西的文本。我想匹配msg
的每一次出現,直到{
。匹配正則表達式{
我的正則表達式看起來像這樣regex = re.compile('"msg".+"{"')
。
根據我的理解,這應該直接匹配msg
,然後任何一次或多次達到{
。
但是沒有得到結果。如果我只使用msg
它打印出來,但我需要打印整個結果(直到{)。
我試圖使用.{14}
但由於字符的數量總是不同,所以這是無濟於事的。
您需要像這樣跳過{
:\{
。 {
是一個有效的正則表達式字符,因此您需要將其轉義,否則,正則表達式將嘗試使用其特殊含義。轉義它意味着正則表達式與字面上的{
字符匹配。否則,你的正則表達式看起來很好。
這並非總是如此:https://regex101.com/r/dzgBuJ/1,'msg。+ {'是'Python中完美的有效表達式'。 – Jan
如果一行上有多個'',你想匹配直到第一個還是直到最後一個? –
我會使用'^ [^ {] *' – Arount
當事情不起作用時,試着簡單一點。嘗試編寫一個匹配「msg」的正則表達式,然後構建它 – RPGillespie