想请教一个正则表达式,这正则能做吗

2023-02-10 17:44:49 +08:00
 ccagml

背景

想要的功能,这能用正则做吗?

问了 OpenAI 感觉不太对,每次问结果都不一样

Here's a regular expression that matches the return value type, function name, and parameter type in C++:

(int|vector<int>|vector<vector<int>>|string|vector<string>|vector<vector<string>>|ListNode\*|vector<ListNode\*>|char|vector<char>|vector<vector<char>>|TreeNode\*|Node\*)\s(\w+)\((.*)\)
The regular expression uses the following components:

(int|vector<int>|vector<vector<int>>|string|vector<string>|vector<vector<string>>|ListNode\*|vector<ListNode\*>|char|vector<char>|vector<vector<char>>|TreeNode\*|Node\*) matches the return value type, which can be one of the specified types.

\s matches a whitespace character.

(\w+) matches the function name, which is one or more word characters.

\(.*\) matches the parameter list, which is zero or more characters enclosed in parentheses.

举个例子

vector<int> f(vector<int>& a, TreeNode *b, int d){

}

    vector<int> arg1 = {};
    TreeNode * arg2 = new TreeNode(xxx);
    int arg3 = 0;
    vector<int> result = f(arg1, arg2, arg3);

如果不能做,那只能写代码硬匹配了?

1264 次点击
所在节点    正则表达式
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/914982

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX