Nadomestni znak je simbol, ki ga lahko uporabite namesto ali poleg enega ali več znakov. V računalniških programih, jezikih, iskalnikih, vključno z operacijskimi sistemi, se za zgoščevanje iskalnih kriterijev uporabljajo nadomestni znaki. Vprašaj (?) in zvezdica () sta najbolj priljubljena nadomestna znaka.
Vrste nadomestnih znakov
Zvezdica (∗)
Z zvezdico (*) ali znakom lahko določite poljubno število znakov. Zvezdica * se običajno uporablja na koncu korenske besede in ko je treba iskati korenske besede z različnimi možnimi konci.
računalnik izumil katerega leta
Če na primer uporabimo besedo 'igra' kot primer, se besedni zvezi 'igralec' in 'igre' pojavita v vseh rezultatih iskanja. Odvisno od parametrov iskanja in drugih besed lahko poleg teh dveh besed obstajajo dodatne besede.
Vprašaj (?)
Vprašaj ali znak? označuje eno. Z njim se lahko uporabi katera koli črka v korenu besede. Ko beseda vsebuje več drugih zapisov, uporaba operaterja vprašaja pospeši postopek.
Namesto nadomestnega vprašaja je pika oz. znak se uporablja za predstavitev enega znaka.
Vzemite na primer besedo 'čast'. Rezultat bi označil kot čast, medtem ko bi čast v tem kontekstu izpustil.
Iskanje z nadomestnimi znaki v Pythonu
Za uporabo iskanja z nadomestnimi znaki v Pythonu mora biti knjižnica re vključena v program. Knjižnica, ki se uporablja za delo z regularnimi izrazi v Pythonu, se imenuje knjižnica re, kar je akronim za izraz regularni izraz.
Za iskanje bomo sestavili seznam besed, nato pa bomo uporabili funkcije knjižnice re. S pomočjo nadomestnih znakov bomo poiskali ujemanje s pravilno besedo.
Koda Python, ki sledi, izvede iskanje z nadomestnimi znaki.
zamenjava niza v Javi
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)
Izhod:
['hello']
Izvedbe:
Z uporabo modula regex (regularni izrazi) lahko implementiramo nadomestne znake v Python.
Pika. Vprašaj je bil nadomeščen z znakom ?.
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)
Izhod:
color
Tako kot se uporablja simbol zvezdice (*), se znaki.+ uporabljajo za ujemanje enega ali več znakov. Torej bi lahko v Pythonu naša koda regularnega izraza izgledala nekako takole za iskanje vseh besed, ki se začnejo s korenom '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)
Izhod:
working worker