Мб будет еще полезно комуниб выложоить regexp. 
Специальные символы и шаблоны используются для написания шаблонов по регулярным выражениям.  
Следующая табличка описывает символы, применяемые в регэкспах с короткими примерами.  
 
Символ 
 Описание 
  
\  
 Отмечает следующий символ как специальный./n/соответствует символу "n". Последовательность/\n/соответствует linefeed (хз что это) или символу новой строки.  
  
^  
 Соответствует началу ввода или входящей строки. 
  
$  
 Соответствует концу ввода или входящей строки. 
  
*  
 Соответствует предшествующему символу 0 или более раз. /zo*/ соответствует как "z" так "zoo." 
  
+  
 Соответствует предшествующему символу 1 или более раз. /zo*/ соответствует "zoo." но не "z"  
  
?  
 Соответствует предшествующему символу 1 или 0 раз. /a?ve?/ соответствует "ve" в "never."  
  
. 
 Соответствует любому символу, кроме символа новой строки.  
  
(pattern)  
 Проверяет соответствие pattern и запоминает соответствие. Сравниваемая подстрока может быть получена из переменных %0-%9. Для сравнения с символами скобок ( ), применяйте "\(" или "\)". 
  
x|y 
 Сответствует либо x либо y. /z|food?/ соответствуе "zoo" или "food."  
  
{n} 
 n – неотрицательное целое. Соответствует точно n раз. /o{2}/ не соответствует "o" в "Bob," однако соответствует первым 2м o в "foooood." 
  
{n,}  
 n – неотрицательное целое. Соответствует хотябы n раз. /o{2,}/ не соответствует "o" в "Bob," однако соответствует всем o в "foooood." /o{1,}/ эквивалентно /o+/. 
  
{n,m}  
 m и n – неотрицательные целые. Соответствует хотябы n и не более m раз. /o{1,3}/ соответствует первым 3 o в "fooooood." 
  
[xyz]  
 Набор символов. Соответствует любому из заключенным в скобки символов. /[abc]/ соответствует "a" в "plain."  
  
[^xyz]  
 “отрицательный” набор символов. Соответствует любому не включенному в скобки символу. /[^abc]/ соответствует  "p" в "plain."  
  
\b  
 Соответствует разделителю слов, такому как пробел. /ea*r\b/ соответствует "er" в "never early."  
  
\B  
 Соответствует ээээээ несловесному (?!) nonword разделителю. /ea*r\B/ соответствует "ear" в "never early."  
  
\d  
 Соответствует цифровому символу. Эквивалентно [0-9].  
  
\D  
 Соответствует нецифровому символу. Эквивалентно [^0-9].  
  
\f  
 Соответствует form-feed символу.  
  
\n  
 Соответствует linefeed символу.  
  
\r  
 Соответствует символу возврат каретки.  
  
\s  
 Соответствует любому пустому пространству а-ля пробел, табуляция и тп. Эквивалентно [ \f\n\r\t\v] 
  
\S  
 Соответствует любому непустому пространству. Эквивалентно [^ \f\n\r\t\v]  
  
\t  
 Соответствует табуляции.  
  
\v  
 Соответствует символу вертикальной табуляции.  
  
\w  
 Соответствует любому (словесному?) символу, включая подчеркивание. Аналогично [A-Za-z0-9_].  
  
\W  
 Соответствует любому (несловесному?) символу. Аналогично [^A-Za-z0-9_].  
  
/n/  
 Соответствует  n, где n 8ное, 16ное, или десятичное значение ESC последовательности. Это возможность вставить  ASCII коды (цвета и тп) в регэкспы.  
  
Пример:  
 
/^You (massacres|hits|bruises|slashes|blugeons) (.+) (very hard|hard|extremly hard)*( with your slash)*/  
 
Даст совпадения на строках: «You massacres dragon with your slash» «You blugeons dragon very hard» «You blugeons dragon hard» итп.
		 
		
		
		
		
		
		
			
				__________________ 
				Владение орфографией русского языка - это как кунг-фу, истинные мастера которого не применяют его без надобности.
			 
		
		
		
		
	 |