Мне нужно создать правило регулярных выражений, чтобы соответствовать строке с символом не содержит (
)
символ, а также строки, которые имеют их внутри, но всегда закрыты (но не вложены. Другая вещь, которая пуста ()
также ошибочнаРегулярное выражение в строке с закрытыми скобками
Хорошие строки (должны быть согласованы):
aaaaaa
(asdasd)
aaaa(bbb)a
(aaa)aaaa
aaaaaa(aaaa)
aaaa(bbb)(ccc)ddd
aaaa(bbbb)cccc(dddd)eeee
Плохие строки (там не должно быть матч):
)aaaa
)aaaa(asd)
aaaaaa(
aaaa(bbb))
aaa(bbb
aaaaa((bbbb)cccc
aaaa(bbbb))ccc
aaaa(aasd(adssad))ad
adassd(aas(add)adsa(asda)ad)
()
Пробовал и создал что-то вроде этого (?!.*[(]{2,})(?!.*[)]{2,})(?![)])(?!.*[(]$).*$
, но все равно это не хорошо. Любая помощь в этом?
Сколько уровней там может быть? Это хорошая строка или плохой: 'aaa (bb (cc) bb)'? –
Один уровень круглых скобок является достижимым и практичным. Фиксированное количество уровней доступно, но не практично с более чем несколькими уровнями. Произвольное гнездование уже не является обычным языком. – 9000