【发布时间】:2010-10-12 21:42:03
【问题描述】:
我正在学习正则表达式,需要从字符串中获取模式的所有可能匹配项。
如果我的输入是:
case a
when cond1
then stmt1;
when cond2
then stmt2;
end case;
我需要获取具有以下组的匹配项
组 1:
"cond1""stmt1;"
和第 2 组:
"cond2""stmt2;"
是否可以使用任何正则表达式来获取此类组?
【问题讨论】:
-
我想我不明白。你的代码和正则表达式有什么关系?
-
我认为使用正则表达式而不是通过传统的编程方式处理它们会更容易获得所有这些循环/块。此外,我可以使用这样的正则表达式来解析许多不同的结构。
-
我觉得你应该写一个解析器,只用正则表达式解析源代码是行不通的。
-
我要解析多种语言,写很多解析器会很繁琐。
-
正如我所说:“仅使用正则表达式解析源代码是行不通的”。正则表达式不适合解析语言,它们只是错误的工具。