C#Regex从pl/sql代码中获取注释块例如,我有一个PL/SQL代码:--comment1select*fromt_table;--我想要评论2;/*我想要评论3*/--我想要评论4OPENdata_cur;data_cur之前的所有单行和多行注释;但是在从t_table中选择*之后;即我想要两个PL/SQL语句之间的完整注释块。我希望正则表达式匹配字符串并形成组:SQL语句整个注释块这可以使用任何正则表达式来完成吗?(?ms)^s*([^-/s][^;]+;)((?:(?:s+/*(?:.(?!*/))+.*/)|(?:s+--[^rn]+))*)应该可以很好地完成这项工作。(注意:((?ms)是Java中指定“多行”“全点”模式的方式,但我已经在RETester上测试过并且有效)它可以在select后检测到0个或多个评论。在Multi-在/*和*/之间接受行注释,因为在非捕获组中使用正先行(?:.(?!*/))+更新:修改它以检测0或许多前面有任何“非注释”的注释行。要检测comment1,然后声明,然后注释:(?ms)((?:(?:s+/*(?:.(?!*/))+.*/)|(?:s+--[^rn]+))*)s*^s*([^-/s][^;]+;)((?:(?:s+/*(?:.(?!*/))+.*/)|(?:s+--[^rn]+))*)注意:我更新了两个正则表达式(开头的那个和这个)中的语句检测部分:s*([^-/][^;]+;)到s*([^-/s][^;]+;)注意:只有第一个“注释-语句-注释”会被检测到。下一个块也将被检测到,但仅如:“声明-评论”,然后是“声明-评论”,等等。(上面语句的注释是前面语句下面注释的一部分)以上就是C#学习教程:C#Regex从pl/sql代码中获取注释块分享全部内容,如果对大家有用并且需要深入了解C#学习教程,希望大家多多关注—本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
