Регулярное выражение для сопоставления запятой не между символами группировки

Мне нужно регулярное выражение, которое будет соответствовать запятой, НЕ находящейся между '[' и ']' или '(' и ')' или '{' а также '}'. Остальные символы группировки значения не имеют. Я попытался понять это, но не могу придумать ничего, что помогло бы в этом.

Регулярное выражение должно использоваться с функцией PHP preg_split для разделения строки на совпадающие запятые.

Пример строки, содержащей запятые и символы группировки:

<div>Hello<div>,@func[opt1,opt2],{,test},blahblah

Строка должна разделиться следующим образом:

1: '<div>Hello<div>'
2: '@func[opt1,opt2]'
3: '{,test}'
4: 'blahblah'

Я только что подумал об этом, но на данный момент все символы группировки гарантированно будут иметь совпадающие символы, если это помогает.

Любая помощь будет НАСТОЯТЕЛЬНО приветствоваться =)

5
задан GotCake 26 May 2011 в 02:02
поделиться