logo

Jokerimerkit Pythonissa

Jokerimerkki on symboli, jota voidaan käyttää yhden tai useamman merkin sijasta tai lisäksi. Tietokoneohjelmissa, kielissä, hakukoneissa, mukaan lukien käyttöjärjestelmät, jokerimerkkejä käytetään hakukriteerien tiivistämiseen. Kysymysmerkki (?) ja tähti () ovat suosituimpia jokerimerkkejä.

Jokerimerkkien tyypit

Tähti (∗)

Tähdellä (*) tai merkillä voidaan määrittää mikä tahansa määrä merkkejä. Asteriskia * käytetään tyypillisesti juurisanan lopussa ja silloin, kun on tarpeen etsiä juurisanoja, joilla on useita mahdollisia päitä.

Jos esimerkiksi käytämme sanaa 'peli' esimerkkinä, ilmaukset 'pelaaja' ja 'pelit' näkyisivät kaikissa hakutuloksissa. Hakuparametreista ja muista sanoista riippuen, näiden kahden lisäksi voi olla muita sanoja.

Kysymysmerkki (?)

Kysymysmerkki vai hahmo? merkitsee yhtä. Mitä tahansa juurisanan kirjaimia voidaan käyttää sen kanssa. Kun sana sisältää useita muita kirjoitusasuja, kysymysmerkkioperaattorin käyttö nopeuttaa prosessia.

Kysymysmerkin jokerimerkin sijaan piste tai. merkkiä käytetään yhden merkin esitykseen.

osittainen johdannainen lateksissa

Otetaan esimerkiksi sana 'kunnia'. Se osoittaisi tuloksen kunniaksi, vaikka kunnia jätettäisiin pois tässä yhteydessä.

Jokerimerkkihaku Pythonissa

Pythonissa jokerimerkkihaun käyttäminen edellyttää re-kirjaston sisällyttämistä ohjelmaan. Pythonissa säännöllisten lausekkeiden kanssa työskentelevää kirjastoa kutsutaan re-kirjastoksi, joka on lyhenne termistä Regular Expression.

Hakua varten laadimme sanaluettelon ja sen jälkeen käytämme uudelleenkirjastotoimintoja. Jokerimerkkien avulla löydämme osuman oikealla sanalla.

Seuraava Python-koodi suorittaa yleismerkkihaun.

 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) 

Lähtö:

 ['hello'] 

Toteutukset:

Regex (säännölliset lausekkeet) -moduulin avulla voimme toteuttaa yleismerkkejä Pythonissa.

Piste. Kysymysmerkki on korvattu merkillä ?.

 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) 

Lähtö:

 color 

Kuten tähtimerkkiä (*) käytetään, .+-merkkejä käytetään vastaamaan yhtä tai useampaa merkkiä. Joten Pythonissa regex-koodimme saattaa näyttää suunnilleen tältä etsiäkseen kaikkia sanoja, jotka alkavat juurella 'työ':

äärellisen tilan kone
 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) 

Lähtö:

 working worker