регулярное выражение, чтобы найти все условные выражения - PullRequest
0 голосов
/ 24 октября 2011

возможно ли иметь регулярное выражение, которое найдет все операторы условия регулярного выражения? Это то, что я придумал до сих пор

 (?:[^\\][\(]\?:.+[\)])

но это не так хорошо работает, оно будет идти до последней скобки в утверждении, любая помощь будет оценена.

1 Ответ

1 голос
/ 24 октября 2011

В общем случае это невозможно, поскольку условие может содержать произвольно вложенные пары ().Один шаблон Java не может справиться с этим;для этого требуется контекстно-свободная грамматика , тогда как шаблоны Java могут реализовывать только обычные грамматики.(Ну, в основном. Несколько дополнительных функций, в частности, обратные ссылки, допускают грамматику, которая технически не является регулярной, но ее все же недостаточно, чтобы один шаблон мог обрабатывать вложенные скобки.)

...