0
는 파이썬에서 초보자, 그래서 나는 코드 최적화에 대한 의문을 가지고있다. 당신이 저에게 조언 해 주셨으면 좋겠습니다. 내가 다음 작업을 해결 해요 : 예를 들어 다를 수 있습니다 하나 개의 행의 키워드 상태, 텍스트,있다 :파이썬 정규식 (또는 식)
... task1 .... success....
... task1 .... failed...
... task1 .... inactive...
나는 키워드를 사용하여이 상태를 추적 할 필요가 (또한 우리는 서로 다른이 작업).
내 코드 :
list_of_tasks = ['task1','task2','task3']
list_of_states = ['success','inactive','failed']
for task in list_of_tasks:
regex='|'.join(('.*'+task+'.*'+state+'.*') for state in list_of_states)
pattern = re.compile (regex)
for line in text:
m = re.match(pattern,str(line))
if m:
#operational logic
이 정규식은보다 효율적인 방법으로 수행 할 수 있습니까? 미리 감사드립니다.
작업과 상태는 무엇입니까? 그것은 다음과 같은 것입니까?''blah bla foo bar 동물원 task1 abc def 12345 cat dog 마이크 성공 "', 또는이게 맘에 드는가? task1 success"' –