logo

Wildcards in Python

Een jokerteken is een symbool dat kan worden gebruikt in plaats van of naast een of meer tekens. In computerprogramma's, talen, zoekmachines, inclusief besturingssystemen, worden jokertekens gebruikt om zoekcriteria te condenseren. Het vraagteken (?) en het sterretje () zijn de meest populaire jokertekens.

Soorten wildcards

Het sterretje (∗)

Het sterretje (*) of het teken kan worden gebruikt om een ​​willekeurig aantal tekens op te geven. Het sterretje * wordt doorgaans gebruikt aan het einde van het hoofdwoord en wanneer het nodig is om te zoeken naar hoofdwoorden met verschillende mogelijke uiteinden.

Als we bijvoorbeeld het woord 'game' als voorbeeld gebruiken, verschijnen de termen 'gamer' en 'games' in alle zoekresultaten. Afhankelijk van de zoekparameters en andere woorden kunnen er naast deze twee nog meer woorden voorkomen.

Het vraagteken (?)

Het vraagteken of het karakter? duidt één aan. Elk van de letters van het grondwoord kan ermee worden gebruikt. Wanneer een woord verschillende andere spellingen bevat, versnelt het gebruik van de vraagtekenoperator het proces.

In plaats van het vraagteken-wildcard wordt de punt of. teken wordt gebruikt voor de representatie van één teken.

Neem bijvoorbeeld het woord ‘eer’. Het zou het resultaat als eer aangeven, terwijl eer in deze context wordt weggelaten.

Zoeken met jokertekens in Python

Om zoeken met jokertekens in Python te gebruiken, moet de re-bibliotheek in het programma zijn opgenomen. Een bibliotheek die in Python met reguliere expressies werkte, wordt de re-bibliotheek genoemd, wat een acroniem is voor de term reguliere expressie.

Om de zoekopdracht uit te voeren, zullen we een lijst met woorden samenstellen, en daarna zullen we de re-bibliotheekfuncties gebruiken. Met behulp van wildcards zoeken wij een match met een correct woord.

De Python-code die volgt voert een zoekopdracht met jokertekens uit.

 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) 

Uitgang:

 ['hello'] 

Implementaties:

Met behulp van de regex-module (reguliere expressies) kunnen we jokertekens in Python implementeren.

De punt. Het vraagteken is vervangen door een teken ?.

 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) 

Uitgang:

 color 

Net zoals het asterisk (*)-symbool wordt gebruikt, worden de.+-tekens gebruikt om met een of meer tekens overeen te komen. Dus in Python zou onze regex-code er ongeveer zo uit kunnen zien om te zoeken naar alle woorden die beginnen met de root '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) 

Uitgang:

 working worker