Примеры данных:
"3610212505","3610212505","Jack is 6'2" tall"
Я ищу, чтобы избежать двойной кавычки, которая появляется после 2 в 6'2 "с шаблоном регулярного выражения в PHP. Эта строка является частью большего CSV файла, который я пытаюсь очистить.
В принципе, любая двойная кавычка:
(?<!^)(?<!,)"(?!$|,)
Попробуйте это. Смотрите демоверсию.
https://regex101.com/r/wZ0iA3/9
$re = "/(?<!^)(?<!,)\"(?!$|,)/im";
$str = "\"3610212505\",\"3610212505\",\"Jack is 6'2\" tall\"";
$subst = "";
$result = preg_replace($re, $subst, $str);
i
для игнорирования. m
для многострочного. Здесь не очень нужно
Что-то вроде
/"(?!(,|$|\w))/
(?!(,|$|\w))
Обеспечивает, что "
не следует ,
или $
end of string или \w
пример
preg_replace("/\"(?!(,|$|\\w))/", "", "\"3610212505\",\"3610212505\",\"Jack is 6'2\" tall\"");
=> "3610212505","3610212505","Jack is 6'2 tall"
"
вместо того, чтобы удалить его?