@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+)="(.+?)". Первой находишь структуры. Группа один - используемый токен, группа два - все атрибуты. Парсишь вторую группу второй регуляркой чтобы достать атрибуты со значением. Дальше уже дело техники.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы