[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: знак вопроса после квантификатора
dadli
здраствуите
что азначает знак вопроса после квантификатора? тоест такои квантификатор {4,7}? что азначает ?



Спустя 5 минут, 12 секунд (8.12.2011 - 14:35) m4a1fox написал(а):
dadli
"Ленивый" поиск

Спустя 1 минута, 14 секунд (8.12.2011 - 14:37) Winston написал(а):
Это ленивая квантификация

Это #(.*?)# - соответствует этому #(.*)#U
Это #(.+?)# - соответствует этому #(.+)#U
Это #[\w]{4,7}# - соответствует этому #[\w]{4,7}#U

То есть захватывать как можно меньше совпадений.



Спустя 2 минуты, 7 секунд Winston написал(а):
В некоторых языках отсутствует модификатор U, потому на замену ему к квантификаторам + и * добавляется ?

Спустя 9 минут, 54 секунды (8.12.2011 - 14:46) dadli написал(а):
ок, я искал и нашёл такои абяасненя:
{n,m}? - больше или равно n и меньше m раз
значит {4,7}? больше или равно 4 и меньше 7 раз
если так, почему етот код виведит "совпадение есть" ? строка содержит символ d ровно 7.

$str = "ddddddd";

if (preg_match("#^[d]{4,7}?$#",$str)) {
echo "совпадение есть";
}

Спустя 2 минуты, 6 секунд (8.12.2011 - 14:49) m4a1fox написал(а):
Ну так вроде он и должен так видеть!!!!

Спустя 21 минута, 32 секунды (8.12.2011 - 15:10) dadli написал(а):
m4a1fox
почему?
{4,7}? ето азначат - больше или равно 4 и меньше 7 раз
а строка содержит символ d не меньше чем 7, а ровно 7 раз

Спустя 12 минут, 37 секунд (8.12.2011 - 15:23) Winston написал(а):
dadli
{n,m}? - некая последовательность повторяется не меньше n и не больше m раз, но как можно меньшее число раз.
Пример:
Код
$str = '465 123465 1324 1324567';
preg_match_all("#\d{4,7}#", $str, $match);
echo '<pre>'.print_r($match, 1).'</pre>';

Такая запись #\d{4,7}# нам вернет
[0] => 123465
[1] => 1324
[2] => 1324567

А такая запись #\d{4,7}?# нам вернет
 [0] => 1234

То есть будет найдено наименьшее количество символов из разрешенного интервала {n,m}.


_____________


когда чарли чаплин принимал участие в конкурсе: "клон чарли чаплинов", то чарли занимал третю позицию.

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.