正则表达式操作不返回特定值

时间:2016-10-06 18:32:47

标签: c# regex

我正在使用以下正则表达式操作

(?:public\s|private\s|protected\s|internal\s|)?[\s\w]*\s+(?<methodName>\w+)\s*\(\s*(?:(ref\s|in\s|out\s)?\s*(?<parameterType>[\w\?\[\]]+)\s+(?<parameter>\w+)\s*,?\s*)+\)

它在

等方法上运行良好
public ResponseViewModel ResponseDetails(
    ResponseViewModelContext responseViewModelContext)

但是如果返回类型或参数中有任何List,则它不符合预期。

即以下方法无效

public List<ResponesViewModel> ResponseDetails(
    List<ResponesViewModelContext> responseViewModelContext)

Link for Online Regex Tried

1 个答案:

答案 0 :(得分:-1)

您必须将<>括号字符添加到正则表达式。

(?:public\s|private\s|protected\s|internal\s|)?[\s\w<>]*\s+(?<methodName>\w+)\s*\(\s*(?:(ref\s|in\s|out\s)?\s*(?<parameterType>[\w<>\?\[\]]+)\s+(?<parameter>\w+)\s*,?\s*)+\)

Link for regex