$str = 'asttttr';
if (preg_match("#(t)?\\1\\1(?(1)[^t])#",$str)) {
echo 'yes';
}
совпадение есть, почему? я ожидал что не должен бить совпадение.
Спустя 9 минут, 13 секунд (2.01.2012 - 21:24) Winston написал(а):
Добавь якорь начала строки ^
Спустя 8 минут, 9 секунд (2.01.2012 - 21:32) dadli написал(а):
а всё ясно, мне нужен такои шаблон [^t](t)?\\1\\1(?(1)[^t]
вопрос задал я не совсем понятни.
Winston спасибо что откликнул.
вопрос задал я не совсем понятни.
Winston спасибо что откликнул.
Спустя 2 минуты, 30 секунд (2.01.2012 - 21:35) Winston написал(а):
Цитата (dadli @ 2.01.2012 - 20:32) |
а всё ясно, мне нужен такои шаблон [^t](t)?\\1\\1(?(1)[^t] |
Я имел ввиду так:
#^(t)?\\1\\1(?(1)[^t])#
Спустя 11 минут, 16 секунд (2.01.2012 - 21:46) dadli написал(а):
Winston
мне совсем другои непонятность биль, но посколку вопрос решена и мне очен трудно ето обяснить, не буду ничего сказать
спасибо тебе еше раз.
мне совсем другои непонятность биль, но посколку вопрос решена и мне очен трудно ето обяснить, не буду ничего сказать

спасибо тебе еше раз.

Спустя 18 минут, 56 секунд (2.01.2012 - 22:05) Winston написал(а):
Цитата (dadli @ 2.01.2012 - 20:46) |
мне очен трудно ето обяснить |
А чего тут трудного ? :)
Ты поставил ^, тем самым заставив регулярке начать поиск с самого начала строки. А вот без ^ регулярка сама выбирала себе позицию которая подходит под шаблон
(t)?\\1\\1(?(1)[^t])
То есть без использования ^, в тексте "asttttr" регулярка производила поиск, постоянно перебирая позиции, производя несколько итераций, пока не нашла подходящую строку, вот пример шагов
На первом шаге он проверял этот участок - asttttr
На втором - asttttr
На третьем - asttttr
И на четвертом, она нашла то что искала :), то есть - asttttr - (3 символа t и один символ отличный от t)
А вот при использовании ^ (якорь начала строки)
Регулярка сразу выполнила только одну итерацию, выбрав и проверив только первые 4 символа, то есть asttttr, а они как ми видим под шаблон не подходят.
Понятней стало? :)
Спустя 18 минут, 56 секунд (2.01.2012 - 22:24) dadli написал(а):
Winston
очен балшои спасибо за такои подробнои обясненя.
ну вот такои "одним посмотром" лёгки задача-вопрос:
написать шаблон, котории совпадается со строкои, вкоторм есть две символ, но ети символи не одинаковие: то есть шаблон совпадается например строкам:
a3
er
но не совпадается
tt
может ето на самом деле лёгки задача, нo сеичас для меня ето не лёгко.
очен балшои спасибо за такои подробнои обясненя.
ну вот такои "одним посмотром" лёгки задача-вопрос:
написать шаблон, котории совпадается со строкои, вкоторм есть две символ, но ети символи не одинаковие: то есть шаблон совпадается например строкам:
a3
er
но не совпадается
tt
может ето на самом деле лёгки задача, нo сеичас для меня ето не лёгко.
Спустя 5 минут, 52 секунды (2.01.2012 - 22:30) Winston написал(а):
Цитата (dadli @ 2.01.2012 - 21:24) |
написать шаблон, котории совпадается со строкои, вкоторм есть две символ, но ети символи не одинаковие |
Вот так ?
#^(.)(?!\\1)#
Спустя 6 минут, 19 секунд Winston написал(а):
Или же вариант без регулярки
$str = 21;
if ($str != strrev($str)) {
echo 'yes';
}
Спустя 11 минут, 7 секунд (2.01.2012 - 22:41) dadli написал(а):
Winston
да именно так. пряма в точку попал.
регулярски варянт лучше, т.к. нет проблеми не латинским символами
спасибо балшои
да именно так. пряма в точку попал.
регулярски варянт лучше, т.к. нет проблеми не латинским символами
спасибо балшои

Спустя 2 минуты, 1 секунда (2.01.2012 - 22:43) Winston написал(а):
Цитата (dadli @ 2.01.2012 - 21:41) |
т.к. нет проблеми не латинским символами |
Не с латиницей, а с кириллицей

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