Logo

Служба поддержки:

 

ICQ: 621-626-628 ICQ: 621-626-628

 

SKype: sharing_plus

 

621-626-628@mail.ru

 

Реквизиты оплаты:



U334459871111
Z163812692685
R219058712561

410011491012247

Голосование

Оцените работу сервера
 

Реклама от Google:

Гл. 8. Редактирование 147
19.06.2012 00:19

Регулярные выражения

Вторым скользким методом в редакторе ed является металитера: литера, которая является не тем, чем кажется.

Это скользкое место возникло как результат одного из самых обычных явлений в информатике: некое простое средство делается намного более общим и мощным; возникает, однако, одна небольшая проблема: это простое средство больше не является простым.

В данном случае это явление проявилось в связи с контекстным поиском. Когда вы проводите такой поиск, вы в действительности ищете образец. В приведенных простых примерах этот образец до сих пор состоял только из фиксированных литер, например /темной/. Однаио образец может содержать и переменные элементы. Такие переменные элементы указываются с помощью металитер — литер, имеющих особый смысл. Мы уже видели использование металитер в оболочке. Металитерами оболочки являются такие литеры, как * и ?. Однако металитеры редактора ed сильно отличаются от металитер оболочки. Ниже приводится список некоторых металитер редактора:

		означает любую литеру. (Точка, как известно, в ре-
		дакторе ed является первейшим кандидатом на роль 
		литеры специального назначения.) Так, /c.t/ со-
		поставляется cat, czt, c-ft и т.д.;
 
x*		здесь х—любая литера; означает любое число литер х,
		в том числе и нуль. Так, цепочке /ab*d/ соответст-
		вует любая комбинация вида ad, abd, abbd и т. д. 
		Аналогично, /a.*d/ сопоставляется с любой цепочкой,
		начинающейся с а и оканчивающейся на d; (следует 
		иметь в виду, однако, что aи d должны быть в од-
		ной и той же строке, поскольку ed — построчный
		редактор. Если в строке более одной литеры а или d,
		то /a.*d/ сопоставляется с цепочкой, начинающейся
		первой литерой а и оканчивающейся последней ли-
		терой d);

$		обозначает конец строки. Так, /d$/ сопоставляется
		с литерой d в конце строки. Такое использование $ 
		в чем-то аналогично применению $ для обозначения 
		последней строки буфера, например 1,$р;

^		обозначает начало строки. Так, /^T/ сопоставляется
		с Т в начале строки; /^$/ сопоставляется с пустой
		строкой;

[АаЬ]		обозначает или А, или а, или Ь. (Это один из слу-
		чаев, когда металитеры редактора и оболочки интер-
		претируются одинаково.)
 
eskisehirbayanlar.com eskisehirescortlar.net bursaescorttr.com bursadaescortlar.org antalyaescort.pw