2017-12-24 25 views
0

私はPythonで何かを作ろうとしています。ここでは、ある量の文字を単語に入れ、その単語の数だけ単語を検索します。Python検索の正規表現

マイコード:

import sys 

import re 

def search(pattern): 

    print("Searching...\n\n") 

    for i, line in enumerate(open(sys.argv[1])): 

     for match in re.finditer(pattern, line): 

      print(match.groups()) 


    print("\n\nFinished.") 


while True: 

    word = "" 

    put = int(input("Amount of Letters in Word: ")) 

    if put > 25 or put < 3: 

     print("Invalid amount of letters.") 

    else: 

     for n in range(0, put): 

      word = word + "." 

     word = "^" + word + "$" 

     pattern = re.compile(word) 

     search(pattern) 

私はそれはあなたが入れた手紙の量ですべての単語を示したいと思います。

https://i.imgur.com/Kgusvyh.png

単語のリスト:

word 
1234 
okay 
0000 
asdfg 
asdfh 
asdgj 

なぜそれが(表示されませんか)?

+1

あなたは毎回match.groupsを印刷しています。おそらく空のタプルが印刷されています。 [this](https://stackoverflow.com/questions/7312020/why-wont-re-groups-give-me-anything-for-my-one-correctly-matched-group)はなぜでしょうか – 0TTT0

+0

Nvm、fixed by match.groups()をmatch.group()に置き換える – Boobah

答えて

0

match.groups()をmatch.group()に置き換えることで修正されました。