【发布时间】:2010-02-04 02:50:44
【问题描述】:
我在一个文本文件中有一系列选择语句,我需要从每个选择查询中提取字段名称。如果某些字段不使用 to_char() 等嵌套函数,这将很容易。
给定可能有多个嵌套括号的选择语句字段,例如:
ltrim(rtrim(to_char(base_field_name, format))) renamed_field_name,
或者只是将base_field_name 作为一个字段的简单情况,Perl 中的正则表达式会是什么样子?
【问题讨论】:
-
就在 9 分钟前,您发布了以下内容:stackoverflow.com/questions/2174015/… ...您不能决定使用哪种语言吗?
-
另外,您忘记更改问题的正文。它仍然是 Python。
-
出于显而易见的原因,如果用一种语言编写代码需要付出更多的努力,那么针对这种特定情况切换到另一种语言是有意义的。
-
-1 仅将 Python 更改为 Perl 并不能使您的(难以阅读和未格式化的)代码示例有效。我很确定这些在 Python 中甚至都无效。
-
@TheObserver - 你从 Alex Martelli 那里得到的答案不是“Python 正则表达式不适合嵌套结构”,而是“正则表达式不适合嵌套结构”。是什么让你认为用不同的语言询问同一个工具会得到不同的答案?它可以在 Perl 中完成,但它可以在 Python 或 Ruby 或 PHP 或 C# 中完成。尝试这样做只是一个可怕的想法,并且会引起巨大的头痛。如果您需要一个复杂的解析器,请编写一个解析器。不要一直问“我怎么敲这个螺丝?”