c# - 使用正则表达式定位多个嵌套的 If 语句

标签 c# java regex static-analysis

有没有办法使用正则表达式在代码中搜索多个嵌套的 if 语句?

例如,使用不同样式(if、if/else、if/elseif/else)定位三层或更多层的 if 语句实例的表达式:

if (...) {
    <code>
    if (...) {
        <code>
        if (...)
            <code>
    } else if (...) {
        <code>
    } else {
        <code>
    }
} else {
    <code>
}

最佳答案

使用正则表达式进行源代码搜索是一个坏主意。国际海事组织。最好使用一些工具来解析源代码,然后允许您使用(例如)XPath 样式路径表达式查询解析树。

用于源代码搜索的正则表达式的问题在于它们通常太难读写(除非您是正则表达式大师),并且由于正则表达式创建者的一些边缘情况,它们很容易出现误报和误报没想到。 (例如,在关键字中使用\uxxxx 字符。)

以下是一些工具链接:

(请随意推荐其他人。)

关于c# - 使用正则表达式定位多个嵌套的 If 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2937481/

相关文章:

c# - Silverlight 的轻量级分析?

java - JMH:如何避免从抽象基状态共享状态?

javascript - 使用正则表达式删除所有 HTML <button> 元素

需要 Javascript 正则表达式和转义建议

PHP Codeigniter 使用正则表达式 DRY 转换许多 IF

c# - 错误运算符 '=='无法应用于 'char'和 'string'类型的操作数

c# - SharpDX vs SlimDX 用于游戏开发?

c# - Javascript - 如何在 Kendo 模板上转义双引号和单引号

java - 如何使用 JAXB 自定义 XML 导出

Javassist类可以与多个线程共享吗?