Имеется конструкция вида [a]xyxxyxy нужно усовершенствовать регулярное выражение "\[a\](.+)\[b\]" чтобы оно не срабатывало если $1 ( содержание внутри скобок) содержит последовательность "[a]", отдельно символы \[,\],a можно а вот при последовательности чтобы не срабатывало все выражение. Думаю есть простой выход из этой проблемы.
Да понимаю. Я там просто не дописал. Меня интересует сам принцип, реальная задача намного сложнее чем указанная.
давай реальную если нужно выбрать все [a][/b] без вложений Код (Text): #\[a\]((?:.(?!\[a\]))+)\[\/b\]#i
Огромное спасибо дело сдвинулось с места. жаль что не до конца понимаю смысл конструкций (?: ) - это вроде как () только без запоминания в списке. и почему ставится "." (?:.) ? (?! ) - это вроде как "справа от этой конструкции не должно быть равно". только я пробовал ее она не работала а в комплекте с (? заработала. Если можете добавить пару объяснений.