Записи с тегом «regexp»

Снова об отрицании в регулярном выражении

29.12.2011 17:53 / Артём Волк / 109 просмотров / ...

Реализовать условие «строка не содержит подстроку» напрямую в регулярном выражении нельзя, но можно воспользоваться т.н. negative lookahead (которые уже были описаны в предыдущем сниппете):

<pre>
<?php
	$pattern = "/^(?!(.*?)HTC)/"; // Совпадение будет со строкой не содержащей 'HTC'
	preg_match($pattern, "HTC A310 Explorer", $matches);
	print_r($matches);
	preg_match($pattern, "Нетбук Acer Aspire 3750", $matches);
	print_r($matches);
?>
</pre>

Другой вариант реализации предложен на stackoverflow.com.

Русские буквы в регулярных выражениях в JavaScript

09.11.2009 17:57 / Артём Волк / 1387 просмотров / ...

На веб-странице в кодировке UTF-8 возникла необходимость в JavaScript применить в регулярном выражении русские буквы. Напрямую указать их нельзя, вариант решения:

^[\u0400-\u04FF\s\.]+$

(Регулярное выражение требует хотя бы один символ, каждый из которых может быть русской буквой, точкой или пробелом).

Отрицание в регулярном выражении

28.10.2009 23:07 / Николай Рыков / 929 просмотров / ...

Для задач URL-роутинга необходимо было написать регулярное выражение, под которое подходили бы относительные URL вида:

/news/some-long-and-detailed-shortcut-for-news-item/
/news/some-long-and-detailed-shortcut-for-news-item

Но не подходили следующие:

/news/page-2/
/news/delete/42/
/news/edit/42/
/news/add/
/news/add

Часть адреса some-long-and-detailed-shortcut-for-news-item желательно получить в виде отдельной строки и без слеша вне зависимости от того, указан ли он в адресе.

решение...