2012-06-28 2 views
-4

루프 처리 (trimtemp 트리밍) 및 해당 문자열 (modeltrim)에 일치하는 목록이 있는지 확인합니다. 그러나 대부분의 경우 코드가 잘 실행되어 다음 오류가 발생합니다.re.search python을 사용하는 불균형 괄호 오류

Traceback (most recent call last): 
    File "/home/hostadl/PricesFinal.py", line 318, in <module> 
    main() 
    File "/home/hostadl/PricesFinal.py", line 215, in main 
    match = re.search(r'{0}'.format(trimtemp), modeltrim, re.IGNORECASE) 
    File "/usr/local/lib/python3.2/re.py", line 158, in search 
    return _compile(pattern, flags).search(string) 
    File "/usr/local/lib/python3.2/re.py", line 256, in _compile 
    return _compile_typed(type(pattern), pattern, flags) 
    File "/usr/local/lib/python3.2/functools.py", line 180, in wrapper 
    result = user_function(*args, **kwds) 
    File "/usr/local/lib/python3.2/re.py", line 268, in _compile_typed 
    return sre_compile.compile(pattern, flags) 
    File "/usr/local/lib/python3.2/sre_compile.py", line 491, in compile 
    p = sre_parse.parse(p, flags) 
    File "/usr/local/lib/python3.2/sre_parse.py", line 692, in parse 
    p = _parse_sub(source, pattern, 0) 
    File "/usr/local/lib/python3.2/sre_parse.py", line 315, in _parse_sub 
    itemsappend(_parse(source, state)) 
    File "/usr/local/lib/python3.2/sre_parse.py", line 642, in _parse 
    raise error("unbalanced parenthesis") 
sre_constants.error: unbalanced parenthesis 

도움을 주시면 대단히 감사하겠습니다!

+7

오류 코드를 게시하십시오. 추적에서 하나의 관련 선을 선택할 수 있지만 더 많은 것을 볼 필요가 있습니다. –

+6

'trimtemp'에 무엇이 있는지 모른 채로, 우리는 이미 오류보다 더 이상 말할 수 없습니다. 오류는 비록 스스로 설명하는 것처럼 보일 것입니다. – Hamish

답변

2

이 줄 당신은 format(trimtemp)에 포함 된 내용을 살펴 봐야 문제

match = re.search(r'{0}'.format(trimtemp), modeltrim, re.IGNORECASE) 

을 것으로 보인다. 사전에 라인에

print format(trimtemp) 

을 추가하면됩니다. 아마도 ( 또는 )을 포함하고 있으며 이것은 re에 중요합니다. 아마도 re.escape(format(trimtemp))이 필요합니다.