что азначает знак вопроса после квантификатора? тоест такои квантификатор {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, потому на замену ему к квантификаторам + и * добавляется ?
Это #(.*?)# - соответствует этому #(.*)#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.
{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 раз
почему?
{4,7}? ето азначат - больше или равно 4 и меньше 7 раз
а строка содержит символ d не меньше чем 7, а ровно 7 раз
Спустя 12 минут, 37 секунд (8.12.2011 - 15:23) Winston написал(а):
dadli
{n,m}? - некая последовательность повторяется не меньше n и не больше m раз, но как можно меньшее число раз.
Пример:
Код
Такая запись #\d{4,7}# нам вернет
А такая запись #\d{4,7}?# нам вернет
То есть будет найдено наименьшее количество символов из разрешенного интервала {n,m}.
{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}.
_____________
когда чарли чаплин принимал участие в конкурсе: "клон чарли чаплинов", то чарли занимал третю позицию.