Это домашнее задание и мой первый опыт использования RegEx. Я начинаю понимать используемый синтаксис и символы и могу выполнить несколько простых сопоставлений / манипуляций с образцами, но не могу предвидеть, как достичь некоторых целей этого задания.
Мне дали текстовый файл в следующем формате:
Steve Blenheim:238-923-7366:95 Latham Lane, Easton, PA 83755:11/12/56:20300
Betty Boop:245-836-8357:635 Cutesy Lane, Hollywood, CA 91464:6/23/23:14500
Igor Chevsky:385-375-8395:3567 Populus Place, Caldwell, NJ 23875:6/18/68:23400
Norma Corder:397-857-2735:74 Pine Street, Dearborn, MI 23874:3/28/45:245700
Существует около 50 строк имен и соответствующей информации, каждая запись находится на новой строке, а каждое поле отделено двоеточием. В основном мне нужно найти конкретные вещи из файла и распечатать их на веб-странице, но я не совсем понимаю.
Вот одна проблема, которую я решил:
<code>$myFile = "datebook.txt";
$data = file($myFile);//I have used this to place all data in an array, but it may be necessary to place the data into a string?
//1) Print all lines containing the pattern Street (case insensitive).
$pattern = "/street/i";
$linesFound = preg_grep($pattern, $data);
echo "<pre>", print_r($linesFound, true), "
";
Вот некоторые из них, которых у меня нет, и конкретные вопросы по ним:
2) Напечатайте имя и фамилию, в которой имя начинается с буквы «B».
Как мне искать только имена, а не фамилии, названия городов и т. Д.?
Как напечатать полное имя и только полное имя?
5) Напечатать имя и адрес Лори Горц.
Я понимаю, как найти шаблон 'Лори Гортц', но как мне вернуть ее адрес?
11) Вывести строки, заканчивающиеся ровно пятью цифрами.
12) Распечатать файл с обратными именами и фамилиями.
14) Раздайте каждому рейз на 250 долларов.
Не знаю, как это сделать. Я предполагаю, что последний номер для каждой записи - их зарплата.
Любая помощь приветствуется. Пожалуйста, ответьте с объяснением кода, спасибо.