logo

Wildcards i Python

Et jokertegn er et symbol, der kan bruges i stedet for eller som supplement til et eller flere tegn. I computerprogrammer, sprog, søgemaskiner, herunder operativsystemer, bruges jokertegn til at kondensere søgekriterier. Spørgsmålstegnet (?) og stjernen () er de mest populære jokertegn.

Typer af jokertegn

Stjernen (∗)

Stjernen (*) eller tegnet kan bruges til at angive et vilkårligt antal tegn. Stjernen * bruges typisk ved afslutningen af ​​rodordet, og når det er nødvendigt at lede efter rodord med en række mulige ender.

Hvis vi f.eks. bruger ordet 'spil' som eksempel, vil sætningerne 'gamer' og 'spil' blive vist i alle søgeresultater. Afhængigt af søgeparametrene og andre ord kan der være yderligere ord ud over disse to.

Spørgsmålstegnet (?)

Spørgsmålstegnet eller karakteren? betegner en. Ethvert af bogstaverne i grundordet kan bruges sammen med det. Når et ord indeholder flere andre stavemåder, fremskynder brugen af ​​spørgsmålstegnsoperatoren processen.

I stedet for spørgsmålstegnet jokertegn, prikken eller. karakter bruges til enkelttegnsrepræsentationen.

Tag ordet 'ære' for eksempel. Det ville indikere resultatet som ære og udelade ære i denne sammenhæng.

min live cricket

Wildcard-søgning i Python

For at bruge jokertegnssøgning i Python skal re-biblioteket inkluderes i programmet. Et bibliotek, der bruges til at arbejde med Regular Expressions i Python, kaldes re-biblioteket, som er et akronym for udtrykket Regular Expression.

For at udføre søgningen vil vi kompilere en liste med ord, og derefter vil vi bruge re-biblioteksfunktionerne. Ved hjælp af jokertegn vil vi finde et match med et korrekt ord.

Python-koden, der følger, udfører en jokertegnssøgning.

 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'] 

Implementeringer:

Ved at bruge modulet regex (regulære udtryk) kan vi implementere jokertegn i Python.

Prikken. Spørgsmålstegnet er blevet erstattet med et tegn ?.

 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 

Ligesom hvordan asterisk (*)-symbolet bruges, bruges.+-tegnene til at matche et eller flere tegn. Så i Python kan vores regex-kode se nogenlunde sådan ud for at søge efter alle ord, der begynder med roden '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