java Matcher.group()不识别正则表达式"(?<=(type ))(.*?)(?= name| default| min| max| var|$)"
时间: 2023-12-07 12:05:48 浏览: 132
Matcher.group() 方法是用来获取匹配到的子字符串的,这个方法需要在执行匹配操作之后才能调用。在你提供的正则表达式中,使用了零宽度正回顾后发断言和正向先行断言,这些断言是不占用字符的,Matcher.group() 方法无法获取到这些断言匹配的内容。
如果你想获取到匹配到的内容,可以使用 Matcher.group(int group) 方法,其中 group 参数表示获取第几个匹配到的子串,如果正则表达式中有多个用括号括起来的子表达式,那么 group 参数的值就表示这些子表达式的匹配顺序,从 1 开始计数。
举个例子,如果你的正则表达式中只有一个括号表达式,可以使用 Matcher.group(1) 来获取匹配到的内容。如果有多个括号表达式,可以使用 Matcher.group(2)、Matcher.group(3) 等方法来获取对应的匹配结果。
阅读全文