@chetupek

Как написать регулярное выражение ищущее подобные структуры в тексте?

Привет, нужно искать подобные вхождения в тексте, а затем парсить их, подскажите, как это можно сделать?
В начале идет открывающий символ [ и имя токена, тут date, после любое количество любых аргументов format="d F Y" , в конце закрывающий символ ]
[date format="d F Y" date="now + 1 day"] или возможно
[date
	format="d F Y"
	date="now + 1 day"
]
Ну или вот так:
[rows parent="1" offset="0" limit="10"]

Синтаксис этих вхождений можно переделать, если это позволит удобнее их парсить.

Мне нужно получить список токенов и их аргументов в тексте, а затем заменить их на результат их обработки

Так же может я зря делаю этот велосипед и есть что то готовое?
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
radist2s
@radist2s
Back-end и front-end разработчик
Во-первых, было бы неплохо, если бы вы указали интересующий вас язык. Если для PHP, то посмотрите как это реализовано для парсинга шорткодов для WodPress, у них точно такой же синтаксис.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@StainlessDespair
Не зная прикладного применения твоей задачи сказать делаешь ли ты велосипед сложно, но вообще можно в две регулярки (на примере последнего варианта): \[(rows)(.+)\] и (\w+)="(.+?)". Первой находишь структуры. Группа один - используемый токен, группа два - все атрибуты. Парсишь вторую группу второй регуляркой чтобы достать атрибуты со значением. Дальше уже дело техники.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы