這是我的日志
2022-06-29 12:45:04.652 | INFO | product.views.product_view:list:28 - SEARCH | Humana papa
2022-06-29 12:45:04.652 | INFO | product.views.product_view:list:28 - SEARCH | iPhone 12
我想得到一切Search |,例如
Humana papa | 蘋果手機 12
我正在使用正則運算式,我嘗試了這段代碼,但它只得到了 Humana 和 iphone r'SEARCH | (\w ).*'
import re
from collections import Counter
inp = """2022-06-29 12:45:04.652 | INFO | product.views.product_view:list:28 - SEARCH | Humana
2022-06-29 12:45:04.652 | INFO | product.views.product_view:list:28 - SEARCH | Car
2022-06-29 12:45:04.652 | INFO | product.views.product_view:list:28 - SEARCH | Phone 12 pro
2022-06-29 12:45:04.652 | INFO | product.views.product_view:list:28 - SEARCH | Humana papa """
terms = re.findall(r'SEARCH \| (\w ).*', inp)
print(Counter(terms)) # Counter({'Humana': 2, 'Car': 1, 'Phone': 1})
print(Counter(terms).most_common(1)[0]) # ('Humana', 2)
獲得完整單詞的最佳方法是什么?
uj5u.com熱心網友回復:
您可以使用
terms = re.findall(r'SEARCH\s*\|\s*(\S.*)', inp.strip())
請注意字串從初始/尾隨空格中剝離的inp.strip()位置。inp
正則運算式匹配
SEARCH-SEARCH一句話\s*\|\s*-|用零個或多個空格括起來的字符(\S.*)- 第 1 組:一個非空格,然后是該行的其余部分。
輸出:
>>> terms
['Humana', 'Car', 'Phone 12 pro', 'Humana papa']
請參閱正則運算式演示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/498078.html
標籤:Python python-3.x 正则表达式 python-2.7
上一篇:Python2.7使用subprocess.Popen到kubectlexec進入bash的pod不作業
下一篇:Python類繼承動態類變數
