Я пытаюсь написать выражение регулярного выражения, которое соответствует всему тексту на нескольких строках от одного символа до другого , если только строка начинается с первого символа. Тогда я хочу, чтобы не соответствовал нескольким строкам, пока мы не дошли до определенного символа.Соответствие нескольких строк, за исключением некоторых строк
Так что это как выражение внутри выражения.
Вот пример:
keyword = [
key = {value}
key1 = [
key2 = {balue}
key2 = {balue}
]
]
keyword = [
key = {value}
]
Я хочу, чтобы соответствовать все в квадратных скобках, кроме случаев, когда речь идет о ключом1. Он должен игнорировать все внутри квадратных скобок внутри ключа1, а затем поймать все в квадратных скобках следующего ключевого слова.
У меня есть регулярное выражение, чтобы соответствовать все внутри квадратных скобок:
\[([\s\S]*?)\
, но он не принимает во внимание второй набор квадратных скобок. Как я могу учесть это?
Итак, где ваше регулярное выражение? Какой двигатель регулярного выражения вы используете? Не могли бы вы показать свою попытку, скажем, на http://regex101.com? –
Является ли ваш вход ограничен только одним уровнем вложенных скобок или ваш вход допускает N уровней вложенных скобок? Если он разрешает N вложений, эта проблема станет бесконфликтной, и вы не сможете использовать регулярное выражение для строгого захвата. –
@MichaelRecachinas Он допускает только 1 уровень гнездования –