答案 0 :(得分:0)
尝试将多行更改为单行
答案 1 :(得分:0)
如果你的选择非常广泛,以下内容适合你:
(?:^|[\r\n])[\w\s]*(?<params>\(.*?\))
要抓住原型(并使用大括号作为分隔符):
(?:^|[\r\n])[\w\s]*(?<params>\(.*?\)).*?\{
如果您正在寻找更具体的内容,请与我们联系。
编辑添加了(?:^|[\r\n])
,确保它位于文件或行的开头。
答案 2 :(得分:0)
我认为这个正则表达式单独解析每个参数,但我现在无法测试它,所以使用它需要您自担风险。您需要在Regex
对象中添加一个全局标记,以便匹配多个参数,并且还需要一个单行正则表达式,因此您需要匹配源中的每一行。
String regex = "^[\s]*methodName[\s]*\\((?<param>[^,\\)]*)*\\).*?$";
读取此正则表达式:在行的开头(^
)匹配任意数量的空格([\s]*
),然后是字符串文字“methodName”(methodName
),然后是再次使用空格数([\s]*
),然后是一个左括号(\\(
),然后启动一个名为“param”((?<param>
)的捕获组,然后匹配任何数量的任何东西逗号或右括号([^,\\)]*
),然后关闭“参数”捕获组并匹配该组任意次()*
),最后匹配一个闭括号,任何字符(懒惰) ),以及该行的结尾(\\).*?$
)