выражение регулярных выражений для данных preg_replace: изображение (что угодно)»

#php #regex #preg-replace

#php #регулярное выражение #preg-replace

Вопрос:

какое регулярное выражение соответствует следующей последовательности:

 data:image(any number of characters except of doublequotes)"
 

Таким образом, совпадение начинается с «данные: изображение» (оно может быть в любой части строки, начале, середине), затем за ним следует 0 или более любых символов, кроме «, что является концом совпадения.

Я хочу использовать его в preg_replace, чтобы я мог «удалить» эту нежелательную серию символов.

Ответ №1:

Сначала сопоставьте буквальный текст data:image , затем ноль или более символов, которых " тогда не " было.

data:image[^"]*"

Ответ №2:

если вам нужны только данные: изображение:

 $string = preg_replace('/data:image[^"]*"$/', 'data:image"', $string);
 

Если вам нужна только другая часть:

 $string = preg_replace('/data:image([^"]*)"$/', '1', $string);