2014-11-09 3 views
-4

정규식 함수가 잘못되었다고 생각합니다. 오류가 발생했습니다. 프로그램이 줄 단위로 .txt 파일을 읽고 괄호 안에 단어를 포함하지 않는 줄만 인쇄하려고합니다. 다음은 내가 사용한 코드입니다..txt 파일을 검색하기위한 파이썬 코드. 공백으로 단어를 포함하는 행을 인쇄하십시오.

import os 
infile=open("/Users/Julio/Desktop/database.txt", "r") 

for line in infile: 
    if not re.search('(') 

    print(line, end='') 

infile.close() 
+3

기본 [정규식 튜토리얼] (https://docs.python.org/2/howto/regex.html)을 읽으십시오. –

+0

고마워, 그게 도움이 될 것 같아요 –

+0

나는 그것이 작동하도록 코드를 편집하는 방법을 아직 확실하지 않다. 누군가 잘못 된 것을 지적 할 수 있습니까? –

답변

1

단일 문자와 일치 같은 간단한 들어, 왜 그냥 정규식을 피하고 같은 것을하지 : 정규식을 사용하지

with open("database.txt","rt") as f: 
    for line in f: 
     if "(" not in line: 
      print(line) 
+0

덕분에, 그게 나를 도왔습니다 :) –

0

솔루션을, 그리고 괄호 안에 하나의 단어를 찾습니다. 당신이해야하지 않는 한 정규식을 사용하지 않도록하십시오. 문제에 직면 할 때

for line in file_text.split("\n"): 
    for word in line.split(" "): 
     paren_flag = True if word[0] == "(" and word[len(word) - 1] == ")" else False 
    if not paren_flag: 
     print(line) 

어떤 사람들은, "나는 알아, 정규 표현식을 사용합니다."생각 이제 그들은 두 가지 문제가있다.

참고 : 나는 당신이 당신의 질문 이었기 때문에/응답시 불분명하다, 괄호 안의 하나의 단어를 찾을 방법을 요구했다 바랍니다.

+0

고마워, 난 그냥 "(". 괄호 자체. –

+0

@JulioHans 아, 그 경우에는 좀 더 명확하게 질문을 편집해야합니다. 어쩌면 * "괄호가 줄에 있는지 확인하고 싶습니다"*? – HarryCBurn

관련 문제