Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите написать регулярное выражение
 
 автор: Galya   (24.05.2016 в 14:14)   письмо автору
 
 

Помогите ПОЖАЛУЙСТА написать регулярное выражение..
вот задача:
2) Необходимо написать регулярное

выражение + код (или псевдокод) для

извлечения нужных значений

Текст:

Karta *0123: Pokupka 1000 RUB data 21.08.2015 12:12:12 mesto

Starbucks

Значения:

- Номер карты

- Сумма транзакции

- Валюта транзакции

- Дата

- Место совершения транзакции

  Ответить  
 
 автор: vadimka   (24.05.2016 в 16:52)   письмо автору
 
   для: Galya   (24.05.2016 в 14:14)
 

$subject = "Karta *0123: Pokupka 1000 RUB data 21.08.2015 12:12:12 mesto
Starbucks";
$pattern="#Karta \*([\d]+): Pokupka ([\d]+) RUB data ([\d\.]+ [\d\:]+) mesto(.*?)([\w]+)#s";  
preg_match($pattern, $subject, $matches); 
echo "<pre>";
print_r($matches); 
echo "</pre>";

  Ответить  
 
 автор: Ivan I   (31.05.2016 в 13:26)   письмо автору
 
   для: Galya   (24.05.2016 в 14:14)
 

Такое выражение гораздо корректнее:
Karta\s+\*\d{4}\:\s+Pokupka\s+\d+\.?\d{0,2}\s+RUB\s+data\s+\d{2}\.\d{2}\.\d{4}\s+\d{2}\:\d{2}\:\d{2}\s+mesto
можно \s+ заменить на [ ]+ , \d на [0-9] и т.д.
и еще здесь учтена возможность копеек а не только целых рублей:))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования