logo

Jokertecken i Python

Ett jokertecken är en symbol som kan användas i stället för eller utöver en eller flera tecken. I datorprogram, språk, sökmotorer, inklusive operativsystem, används jokertecken för att kondensera sökkriterier. Frågetecknet (?) och asterisken () är de mest populära jokertecken.

Typer av jokertecken

Asterisken (∗)

Asterisken (*) eller tecknet kan användas för att ange valfritt antal tecken. Asterisken * används vanligtvis i slutet av rotordet och när det är nödvändigt att leta efter rotord med olika möjliga slut.

Om vi ​​till exempel använder ordet 'spel' som exempel, skulle fraserna 'spelare' och 'spel' visas i alla sökresultat. Beroende på sökparametrarna och andra ord kan det finnas ytterligare ord utöver dessa två.

Frågetecknet (?)

Frågetecknet eller karaktären? betecknar en. Vilken som helst av bokstäverna i grundordet kan användas med det. När ett ord innehåller flera andra stavningar påskyndar användningen av frågeteckenoperatorn processen.

Istället för frågetecknet jokertecken, pricken eller. tecken används för representationen av enstaka tecken.

Ta ordet 'heder' till exempel. Det skulle indikera resultatet som heder samtidigt som hedern utelämnas i detta sammanhang.

Jokerteckensökning i Python

För att använda jokerteckensökning i Python måste re-biblioteket inkluderas i programmet. Ett bibliotek som används för att arbeta med Regular Expressions i Python kallas re library, vilket är en förkortning för termen Regular Expression.

För att göra sökningen kommer vi att sammanställa en lista med ord, och efter det kommer vi att använda återbiblioteksfunktionerna. Med hjälp av jokertecken kommer vi att hitta en matchning med ett korrekt ord.

Python-koden som följer utför en jokerteckensökning.

 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) 

Produktion:

 ['hello'] 

Implementeringar:

Med hjälp av modulen regex (reguljära uttryck) kan vi implementera jokertecken i Python.

Punkten. Frågetecknet har ersatts med ett tecken ?.

 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) 

Produktion:

 color 

Liksom hur asterisken (*)-symbolen används, används tecknen.+ för att matcha ett eller flera tecken. Så i Python kan vår regex-kod se ut ungefär så här för att söka efter alla ord som börjar med roten 'work':

 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) 

Produktion:

 working worker