Я понимаю, что Java не поддерживает внешние объекты переменной длины с нулевой шириной, но есть ли эффективный и эффективный способ имитировать желаемое поведение?
Текст, к которому я применяю регулярное выражение, - это нечтонапример:
blah words blah [tag platform="platform1, platform5" future]Blah Blah blah[/tag] blah more words
В открывающем теге может быть любое количество платформ в списке в любом порядке, и существует конечное число возможных значений.Желаемый вывод - получить текст между тегами:
Blah Blah blah
Это то, что я хочу сделать для представления списка переменных платформ:
(?<=\\[tag platform=\\\\\".*?\\\\\" future\\]).*?(?=\\[/tag\\])
Но, конечно, он выбрасываетисключение с сообщением Look-behind group does not have an obvious maximum length
.
Я подумал об использовании регулярного выражения, чтобы получить всю строку, включая теги (что легко), а затем проанализировать строку.Но это кажется слишком конкретным, и я бы хотел более пуленепробиваемое решение.