正则表达式匹配带有捕获的Objective-C方法声明

时间:2019-01-20 12:55:27

标签: regex

我需要检查字符串是否是有效的Objective-C方法声明,并提取参数名称和参数描述。我正在使用正则表达式。

我试图用正则表达式提取值:

[\-\+]\s*\(\s*\w+\s*\**\)(?:\s*(\w+)\s*\{|(?:\s*(\w+)\s*\:\s*\(\s*\w+\s*\**\s*\)\s*(\w+))*\s\{)

这适用于没有参数的方法,例如

- (void)willVisitObjectiveCProcessor {

返回捕获块1“ willVisitObjectiveCProcessor”

对于带有一个参数的方法(如

)可以很好地工作
- (void)willVisitObjectiveCProcessor:(CDObjectiveCProcessor *)processor {

在捕获块1中返回“ willVisitObjectiveCProcessor”,在捕获块2中返回“处理器”。

以类似方法读取多个参数时

- (void)addClassName:(NSString *)name referencedInFramework:(NSString *)frameworkName {

返回的捕获仅针对最后一个参数,而不是所有参数。 我在想什么?

0 个答案:

没有答案