【发布时间】:2011-08-16 12:08:16
【问题描述】:
是否可以通过正则表达式来区分代码、字符串和cmets? 我正在尝试在 C# 中为 PLSQL-Code 构建格式化程序,但我无法解决问题,字符串,分别是引号( " 或 ' )也可以出现在 cmets 中,否定它们的特殊字符,反之亦然,评论指示符( -- 或 /* )出现在字符串中,作为特殊字符序列无效。 是否有解决方案,或者正则表达式只是处理此问题的错误方法?
最好的问候, 菲利普
【问题讨论】:
-
我想这是你最好使用解析器而不是使用 RegEx 的时候
-
不要忘记替代引用机制。例如:
select q'['test--]' from dual;select q'!'test/*!' from dual;我用过的每个语法高亮编辑器都无法正常处理这样的字符串。
标签: regex string plsql comments