Нефиксированная ширина положительный вид сзади - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь сопоставить поле высоты в теге svg файла svg, который может выглядеть следующим образом (многострочно):

<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
id="svg2"
height="1052.36220472"
width="744.094488189">

Это регулярное выражение дает мне почти то, что я хочу:

/(<svg[^<>]*height=")(\d*\.\d*)("[^<>]*>)/ms

Я бы хотел сопоставить только значение с плавающей запятой для высоты (1052.36220472), поэтому перспективный просмотр / просмотр назад кажется правильным, но я не могу использовать просмотр с фиксированной шириной, поэтому

/(?<=<svg[^<>]*height=")(\d*\.\d*)(?="[^<>]*>)/ms

не работает - что я могу сделать вместо этого?

Я хочу использовать совпадение для замены в php с функцией preg_replace ().

1 Ответ

0 голосов
/ 17 октября 2018

Как уже упоминалось в комментариях revo (спасибо!), \K выполняет свою работу:

/(?<=<svg[^<>]*height=")\K(\d*\.\d*)(?="[^<>]*>)/ms

Будет соответствовать только десятичному числу и удалит оставшуюся часть тега svg.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...