logo

Symbole wieloznaczne w Pythonie

Symbol wieloznaczny to symbol, którego można użyć zamiast jednego lub większej liczby znaków lub jako dodatek do nich. W programach komputerowych, językach, wyszukiwarkach, w tym w systemach operacyjnych, symbole wieloznaczne służą do zagęszczenia kryteriów wyszukiwania. Znak zapytania (?) i gwiazdka () to najpopularniejsze symbole wieloznaczne.

Rodzaje symboli wieloznacznych

Gwiazdka (∗)

Gwiazdka (*) lub znak mogą służyć do określenia dowolnej liczby znaków. Gwiazdka * jest zwykle używana na końcu słowa głównego oraz wtedy, gdy konieczne jest poszukiwanie słów źródłowych o różnych możliwych końcach.

Na przykład, jeśli jako przykład użyjemy słowa „gra”, we wszystkich wynikach wyszukiwania pojawią się wyrażenia „gracz” i „gry”. W zależności od parametrów wyszukiwania i innych słów, oprócz tych dwóch mogą występować dodatkowe słowa.

Znak zapytania (?)

Znak zapytania czy znak? oznacza jeden. Można z nim zastosować dowolną literę w słowie głównym. Jeśli słowo zawiera kilka innych pisowni, użycie operatora znaku zapytania przyspiesza ten proces.

Zamiast znaku zapytania wieloznacznego, kropka lub. znak jest używany do reprezentacji pojedynczego znaku.

Weźmy na przykład słowo „honor”. Wskazywałoby to na wynik jako honor, pomijając honor w tym kontekście.

Wyszukiwanie wieloznaczne w Pythonie

Aby móc korzystać z wyszukiwania za pomocą symboli wieloznacznych w Pythonie, w programie musi być zawarta biblioteka re. Biblioteka używana do pracy z wyrażeniami regularnymi w Pythonie nazywa się biblioteką re, co jest akronimem terminu Wyrażenie regularne.

Aby przeprowadzić wyszukiwanie, skompilujemy listę słów, a następnie skorzystamy z funkcji rebiblioteki. Za pomocą symboli wieloznacznych zlokalizujemy dopasowanie z poprawnym słowem.

Poniższy kod Pythona przeprowadza wyszukiwanie za pomocą symboli wieloznacznych.

 import re str = re.compile('hel.o') a = ['hello', 'welcome', 'to', 'java', 'point'] match_is = [string for string in a if re.match_is(str, string)] print(match_is) 

Wyjście:

 ['hello'] 

Implementacje:

Korzystając z modułu regex (wyrażenia regularne), możemy zaimplementować symbole wieloznaczne w Pythonie.

Kropka. Znak zapytania został zastąpiony znakiem ?.

 import re # To change the outcomes, add or remove terms from this list. words = ['color', 'colour', 'work', 'working', 'apple', 'master', 'driving'] for word in words: # Instead of the? symbol, use the . symbol if re.search('col.r', word) : print (word) 

Wyjście:

 color 

Podobnie jak symbol gwiazdki (*), znaki.+ służą do dopasowania jednego lub większej liczby znaków. Zatem w Pythonie nasz kod wyrażenia regularnego może wyglądać mniej więcej tak, aby wyszukiwać wszystkie słowa zaczynające się od rdzenia „praca”:

 import re # To change the outcomes, add or remove terms from this list. words = ['car', 'apple', 'work', 'working', 'goat', 'worker'] for word in words: # Instead of using the * symbol, use the.+ symbol. if re.search('work.+', word) : print (word) 

Wyjście:

 working worker