Используя следующее регулярное выражение в PHP, я могу отфильтровать строки из наших файлов приложений, которые выглядят как __ ('test string'), для целей перевода.Regex, который фиксирует одиночные/двойные кавычки и скобки
preg_match_all('/__\((?:(?:[\"]([^\"\)]*?)[\"](?:,[^\)]*)?)|(?:[\']([^\'\)]*?)[\'](?:,[^\)]*)?))\)/', $contents, $matches)
Однако я застрял выяснить, как захватить строк, которые содержат скобка себя, не нарушая способность анализировать строки, которые имеют как одинарные (') и двойные (") кавычки.
В этом пример в RegExr gSkinner показывает вопрос:?. http://gskinner.com/RegExr/?35joj
Anybody там ощущение, как регулярное выражение ниндзя сегодня Спасибо заранее Кроме того, Ого, первый пост
Я уверен, что вам понадобится [рекурсивное регулярное выражение] (http://www.regular-expressions.info/recurse.html). – Rob
Альтернативно [токенизатор] (http://www.php.net/manual/en/ref.tokenizer.php). Хотя регулярное выражение является достаточным, если вам нужно только соответствовать константным строкам, а не строковым выражениям (и даже тогда может быть более кратким с регулярным выражением). – mario