Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.01.2017, 23:22
Интересующийся
Отправить личное сообщение для greengo86 Посмотреть профиль Найти все сообщения от greengo86
 
Регистрация: 09.09.2016
Сообщений: 19

Разбор строки на 3 части
Добрых вечеров... Бытий час пытаюсь разобрать строку типа:
Премьера, 19-й день, 20.01.17 22:45

Необходимо вытащить всё после второй запятой, т.е. 20.01.17 22:45

Написал:
$pattern = '/(\w+), (d+-\w) (\w+), (\d+.\d+.\d+ \d+:\d+)/i';
$replace = '${3}';
$str = preg_replace($pattern, $replace, $header);


И всё равно в переменной $str выдаёт первоначальный текст((
Ответить с цитированием
  #2 (permalink)  
Старый 23.01.2017, 23:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

greengo86,
php?
Ответить с цитированием
  #3 (permalink)  
Старый 23.01.2017, 23:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

greengo86,
var str = 'Премьера, 19-й день, 20.01.17 22:45';
var out = str.replace(/.*,\s/,'');
alert(out)
out = str.match(/[^,]+$/);
alert(out)
Ответить с цитированием
  #4 (permalink)  
Старый 23.01.2017, 23:47
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от рони
php?
Да.
Ответить с цитированием
  #5 (permalink)  
Старый 23.01.2017, 23:50
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

greengo86,
все это как, строку? Ну так explode(',', $header)[2].
Ответить с цитированием
  #6 (permalink)  
Старый 23.01.2017, 23:51
Интересующийся
Отправить личное сообщение для greengo86 Посмотреть профиль Найти все сообщения от greengo86
 
Регистрация: 09.09.2016
Сообщений: 19

Сообщение от рони Посмотреть сообщение
greengo86,
php?
Да!

Сообщение от Rise Посмотреть сообщение
greengo86, /\d\d\.\d\d\.\d\d\s\d\d\:\d\d/
Rise, так а \d это же цифры???
Ответить с цитированием
  #7 (permalink)  
Старый 23.01.2017, 23:55
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Зачем вам REG, если можно проще?
Ответить с цитированием
  #8 (permalink)  
Старый 23.01.2017, 23:57
Интересующийся
Отправить личное сообщение для greengo86 Посмотреть профиль Найти все сообщения от greengo86
 
Регистрация: 09.09.2016
Сообщений: 19

Сообщение от laimas Посмотреть сообщение
greengo86,
все это как, строку? Ну так explode(',', $header)[2].
laimas,
Да, explode это класс, но вот хотелось ругялярками тут пройтись! Или предположим будет строка, где по ', ' не разобьёшь....

Обычную дату сдюжил:
$data = 20.01.2017;
$pattern = '/(\d+).(\d+).(\d+)/i';
$replace = '$3';
$date = preg_replace($pattern, $replace, $data);


А с букавками сложнее
Ответить с цитированием
  #9 (permalink)  
Старый 24.01.2017, 00:01
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от greengo86
Да, explode это класс, но вот хотелось ругялярками тут пройтись!
Что? Запомните - там где можно обойтись без регулярных выражений, о них нужно забывать. Регулярные выражения для сложных разборов, а если строка и забрать из нее последнее, а как ни крути вы это заказываете в шаблоне, то уж пробел перед датой есть, что вам мешает разбивать по пробелу, и ltrim запятую слева?
Ответить с цитированием
  #10 (permalink)  
Старый 24.01.2017, 00:03
Интересующийся
Отправить личное сообщение для greengo86 Посмотреть профиль Найти все сообщения от greengo86
 
Регистрация: 09.09.2016
Сообщений: 19

Сообщение от Rise Посмотреть сообщение
greengo86, /\d\d\.\d\d\.\d\d\s\d\d\:\d\d/
Я имею ввиду, что мне до /\d\d\.\d\d\.\d\d\s\d\d\:\d\d/ написать в $pattern, чтобы у меня preg_replace сработал и выудить группу с только датой, например '$3'. Иначе мне приходит только изначальная строка
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбор строки Валерий1996 Общие вопросы Javascript 3 15.07.2015 22:50
Разбор каждой строки. fro0ty Общие вопросы Javascript 1 06.01.2014 14:01
Разбор строки motoroller Элементы интерфейса 27 25.05.2010 13:14
Разбор строки из txt файла guffer Общие вопросы Javascript 4 18.05.2010 10:21
Разбор строки GRol Общие вопросы Javascript 19 04.03.2009 00:33