gpt4 book ai didi

javascript - 用于从 C++ 文件解析函数名称的正则表达式 (JavaScript) 在某些空白处不起作用

转载 作者:行者123 更新时间:2023-11-30 20:47:32 25 4
gpt4 key购买 nike

我有一个小的 JS 例程,它使用正则表达式从 C++ 文件中获取函数名称及其参数。函数名是在没有返回值的情况下获得的。一切正常,除了它无法识别函数名和参数列表 ( 的左括号之间有空格的情况。例如,如果 C++ 文件具有以下内容:

int func1(lh, rh);
void func2(lh, rh);

int r = func1(10, 20);

例程返回

func1(lh, rh)
func2(lh, rh)
func1(10, 20)

但是如果我们在函数名后面加一个空格,那么这个函数就不会被识别为函数。例如,如果声明 func3 如下

void func3    (lh, rh);

那么 func3 不包含在返回值中。

我使用变量 searchRule 在 C++ 文件中搜索函数

var searchRule = /(operator(?:\s*).+|~?\w+)\(.*\)/g

如何更改 searchRule 正则表达式,以便例程也能够处理函数名后的空格?

最佳答案

//                                         ---
var searchRule = /(operator(?:\s*).+|~?\w+)\s*\(.*\)/g
// ---

\s* = 任何空白字符出现零次或多次

Example here

关于javascript - 用于从 C++ 文件解析函数名称的正则表达式 (JavaScript) 在某些空白处不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48541057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com