Я создал регулярное выражение, соответствующее моему пользовательскому тегу html. Например:
<var-input id="" kind="{"id":2,"art":"TEXT","name":"Textfeld","default":null}" choices="1,2,3,four" value="radio not text"></var-input>
Метка html всегда имеет форму <var-input id="" kind="" choices="" value=""></var-input>
И вот ограничения:
id
строка uuid4 или пустая kind
является JSON строковым объектом choices
является массивом (через запятую) или пустым value
является строка или пусто
Теперь это мое регулярное выражение:
<var-input id=\"([0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12})?\" kind=\"({.*})\" choices=\"([a-zA-Z0-9_,\s]*)\" value=\"([a-zA-Z0-9_,\s]*)\"></var-input>
Хорошо работает для одного совпадения, как в примере выше. Но если в одной строке более одного <var-input ...></var-input>
, регулярное выражение работает некорректно. Почему? Вот пример
Спасибо!