English 中文(简体)
RegEx-匹配函数的参数名
原标题:RegEx - Matching Parameter Names of Functions
var str:String = "myFunction(strParam:String = "myFunc()", objParam:Object = {x:50, y:50}):void";

我想匹配上面字符串中函数的参数名称:strParam,objParam。

尝试将这些参数名称匹配为括号中冒号之前的单词失败。使用lookarounds/my逻辑会出现问题,因为可能存在内部集合圆括号和带有冒号的对象属性,如上面的字符串所示。

有什么想法可以使用正则表达式获得这些参数名称吗?

问题回答

请先尝试删除内部括号字符串。

str.replace(/{.*?}/, "");

然后可以根据冒号进行匹配。或者,如果还不够的话,试着将其进一步剥离,删除任何不必要的信息。

有点做作,用卢布。

(.*?([a-zA-Z]+):[a-zA-Z]+

请参阅卢布





相关问题
Uncommon regular expressions [closed]

Recently I discovered two amazing regular expression features: ?: and ?!. I was curious of other neat regex features. So maybe you would like to share some tricky regular expressions.

regex to trap img tag, both versions

I need to remove image tags from text, so both versions of the tag: <img src="" ... ></img> <img src="" ... />

C++, Boost regex, replace value function of matched value?

Specifically, I have an array of strings called val, and want to replace all instances of "%{n}%" in the input with val[n]. More generally, I want the replace value to be a function of the match ...

PowerShell -match operator and multiple groups

I have the following log entry that I am processing in PowerShell I m trying to extract all the activity names and durations using the -match operator but I am only getting one match group back. I m ...

Is it possible to negate a regular expression search?

I m building a lexical analysis engine in c#. For the most part it is done and works quite well. One of the features of my lexer is that it allows any user to input their own regular expressions. This ...

regex for four-digit numbers (or "default")

I need a regex for four-digit numbers separated by comma ("default" can also be a value). Examples: 6755 3452,8767,9865,8766,3454 7678,9876 1234,9867,6876,9865 default Note: "default" ...

热门标签