[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Составить регулярное выражение
Undertaker
Ребята помогите... Под конец дня голова уже не варит...
С регулярками я почти не работал, в основном копипастил, вот мне это боком и вышло
Сравниваю 2 массива:

02.04 - созвон<==>02.04 - не берет
07.04 - созвон<==>07.04 - не берет
08.04 - созвон<==>14.04 - не берет
14.04 - созвон<==>16.04 - занято
16.04 - созвон<==>20.04 - не берет
17.04 - созвон<==>21.04 - не берет
20.04 - созвон<==>24.04 - не берет
21.04 - созвон<==>
24.04 - созвон<==>
и т.д.

Первый слева, второй справа.
Нужно из 2-х составить одну строку вида :
20.04 - созвон(в коде цифрами) не берет

$j=0;
for ($i = 0; $i < count($matches); $i++) //Первый маассив всегда больше или равно второму
{
$string = $matches[$i]; //,the значение из первого массива
$pattern = '/(\d+).*(\d\d)\W+(\w+.*)/u'; //эта регулярка ищет 2 числа, любые символы, 2 числа, любые символы и текст
$date=preg_replace($pattern, '2015-$2-$1', $string); //тут я составляю дату
$replacement = preg_replace($pattern, '$3', $string); //а тут я просто оставляю текст

if (isset ($matches_rez[$j]) and (!empty ($matches_rez[$j]))){
$str = $matches_rez[$j]; //беру значение второго массива
$pat = '/(\d+).*(\d\d)\W+(\w+.*)/u'; //аналогичная регулярка
$date_rep=preg_replace($pat, '2015-$2-$1', $str); //дата
$rep = preg_replace($pat, '$3', $str); //текст

if ($date!=$date_rep){
$rep='Нет данных'; //если дата из первого массива не равна, дате из второй переменная меняеться
}
else {
$j++; //
}
}

else {
$rep='';
}
}


Короче говоря в итоге мне нужна регулярка 2 числа, некоторое количество символов (не числа), снова 2 числа, снова некоторое количество символов (не буквы), ну и соответственно строка...
Мой скрипт первую дату видит хорошо, а вторую придумывает сам (судя по всему)
Вот так он увидел 2 одинаковых даты
2015-01-28!=2015-11-28

_____________
Из отчета службы безопасности:
... по поводу взлома китайцами сервера Пентагона:
1) Каждый китаец попробовал один пароль.
2) Каждый второй пароль был - maodzedun.
3) На 657983241-й попытке сервер согласился что у него пароль - maodzedun
Быстрый ответ:

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