Многие адреса, такие как Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. и Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра., соответствуют этому шаблону, однако далеко не все. Так, адрес rebecca.hunt@wrotet hebook.com шаблону не соответствует, поскольку оператору @ предшествуют три лексемы: rebecca,. , а также hunt . Следовательно, не выполняется требование наличия ровно одной лексемы, связанное с метасимволом $-. Мета символы, макроопределения и литералы позволяют конструировать шабло ны для поиска адресов электронной почты любого типа.
Если адрес соответствует шаблону, подстроки адреса, найденные метасимволами , сохраняютс я в неопределенных лексемах (indefinite tokens). Найденные строки называются неопределенными лексемами, поскольку могут содержать по нескольку значений лексем. Неопределенные лексемы нумеруются последовательно в соответствии с положением в шаблоне метасимволов, которому они соответствуют. Иначе говоря, неопределенная лексема, полученная по соответствию первого метасимвола, называется $1; соответствие для второго символа называется $2; для третьего - $3 и т. д. Сопоставление адреса Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. с шаблоном $-@$+ привело к созданию двух неопределенных лексем. Первая из них обозначается как $1 и содержит одну лексему, becky, соответствующую символу $-. Вторая неопределенная лексема носит имя $2 и содержит пять лексем - rodent, ., wrotethebook, ., а также com, - соответствующих символу $+. На неопределенные лексемы, созданные при поиске по шаблону, можно ссылаться по именам ($1, $2 и т. д.) при переписывании адреса.
Некоторые из символов, описанных в табл. 10.3, используются только в особых случаях. Символ $@ используется обычно отдельно для поиска пустого адреса. Символы сравнений с картами NIS могут использоваться только в операционной системе Sun с программой sendmail из дистрибутива системы. В следующем разделе мы увидим, что системы, использующие стандартную версию sendmail, могут работать с картами NIS, но только в части преобразований, а не поиска по шаблонам.
- << Назад
- Вперёд