logo

Заместващи символи в Python

Заместващият знак е символ, който може да се използва вместо или в допълнение към един или повече знаци. В компютърните програми, езиците, търсачките, включително операционните системи, заместващите символи се използват за уплътняване на критериите за търсене. Въпросителният знак (?) и звездичката () са най-популярните заместващи символи.

линукс архитектура

Видове заместващи знаци

Звездичката (∗)

Звездичката (*) или знакът могат да се използват за указване на произволен брой знаци. Звездицата * обикновено се използва в края на коренната дума и когато е необходимо да се търсят коренни думи с различни възможни краища.

Например, ако използваме думата „игра“ като пример, фразите „геймър“ и „игри“ ще се появят във всички резултати от търсенето. В зависимост от параметрите за търсене и други думи, може да има допълнителни думи в допълнение към тези две.

Въпросителният знак (?)

Въпросителният знак или знакът? обозначава едно. Всяка от буквите в корена на думата може да се използва с него. Когато една дума съдържа няколко други изписвания, използването на оператора с въпросителен знак ускорява процеса.

Вместо въпросителния заместващ знак, точката или. се използва за представяне на единичен символ.

Вземете например думата „чест“. Това би посочило резултата като чест, като пропуска честта в този контекст.

Търсене с заместващи символи в Python

За да използвате търсене с заместващи знаци в Python, библиотеката re трябва да бъде включена в програмата. Библиотека, използвана за работа с регулярни изрази в Python, се нарича библиотека re, което е акроним на термина регулярен израз.

За да извършим търсенето, ще съставим списък с думи и след това ще използваме функциите на повторната библиотека. С помощта на заместващи знаци ще намерим съвпадение с правилна дума.

Кодът на Python, който следва, извършва търсене със заместващи знаци.

 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) 

Изход:

 ['hello'] 

Реализации:

С помощта на модула regex (регулярни изрази) можем да внедрим заместващи символи в Python.

Точката. Въпросителният знак е заменен със знак ?.

 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) 

Изход:

 color 

Подобно на начина, по който се използва символът звездичка (*), знаците.+ се използват за съпоставяне на един или повече знаци. И така, в Python нашият регулярен израз може да изглежда по следния начин, за да търси всички думи, започващи с корена '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) 

Изход:

 working worker