使用正则表达式检测C源代码中的代码行

时间:2018-05-15 05:34:20

标签: java regex

我正在尝试扫描C源代码以检测代码行,然后以如下形式获取expressionA和expressionB:

(*((_type*)expressionA)) = expressionB;

正则表达式:

[*][(][\s]*[(\s]*.*[*][)\s]*(.*)\s*[)]\s*=(.*)[\s]*;

以下是包含一些测试用例的link

但是这个正则表达式不能涵盖这样的案例:

(*((volatile unsigned short*)(type01_01_06_base + (type01_01_06_offset * 1))) = (unsigned short)(unsigned long)0x01010101);

(*((volatile unsigned char*)add)) = (unsigned char)data;

是否有任何解决方案可以使用正则表达式来解决我的问题中的所有情况?

0 个答案:

没有答案