Я новичок, пытающийся найти текстовый файл для некоторых серийных номеров. Я использую PHP 5, и я читаю файл CSV. Я создал следующее регулярное выражение:Регулярное выражение help, не найти то, что мне нужно
/^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$/
Я смотрю через довольно большой текстовый файл для серийных номеров, напоминающих один, перечисленных ниже:
37DB4B71-DAFA-4311-9AC6-0005646CB9BC
Он всегда находит первый серийный номер, но он не находит никого из других. Есть, по крайней мере, 15 человек, какие-либо предложения о том, что я делаю неправильно? У меня сложилось впечатление, что \ w найдет либо цифру, либо цифру в случае чувствительности. Я решил, что это сработало, когда он нашел первый экземпляр.
Вот код, который я использую для разбора CSV-файла, я просто ввожу весь файл и пытаюсь разбить его на массив по серийному номеру. Ниже приведен код, который я использую, чтобы узнать, могу ли я, по крайней мере, разделить серийные номера, прежде чем делать что-либо еще. Сейчас он показывает мне массив с 1 элементом внутри. Этот элемент - это серийный номер, за которым следует куча текста и серийные номера, которые мне нужны.
Еще одна причина, по которой я использую preg_split, заключается в том, что за серийным номером следует запятая, а затем некоторые сведения о серийном номере. Я пытался использовать Preg_split для разрыва файла, чтобы текст соответствовал порядковому номеру.
$searchPattern = '/^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$/';
//Get the contents of the File
$contents = file_get_contents('C:/files/andrew1.csv');
if ($contents === false){
echo 'Sorry, there was a problem reading the file.';
} else{
$NoHTMLContents = strip_tags($contents);
$splitContents = preg_split($searchPattern, $NoHTMLContents);
echo '<pre>';
print_r($splitContents);
echo '</pre>';
}
Просто сделал, я получил 45 мин езды домой, так что я буду отвечать на любые вопросы, один раз Я уже там. Спасибо за помощь – Drewdin
Если за серийным номером стоит запятая, почему в вашем регулярном выражении требуется, чтобы он * не *, а запятая? –
@Mark Спасибо за предложение, если я удалю $, это изменит регулярное выражение соответствующим образом? Спасибо – Drewdin