给出以下Java表达式代码:
boolean match = row.matches("('.*')?,('.*')?");
如果match是true,则表示正则表达式匹配整个“行”。那我可以得到两组的内容吗?每个是('.*')?
match
true
('.*')
要访问组,您需要使用Matcher:Pattern.compile(regex).matcher(row)。
Matcher
Pattern.compile(regex).matcher(row)
然后,您可以调用find()或matches()在匹配器上执行匹配器,如果匹配器返回true,则可以通过group(1)和访问组group(2)。
find()
matches()
group(1)
group(2)
String row = "'what','ever'"; Matcher matcher = Pattern.compile("('.*')?,('.*')?").matcher( row ); if( matcher.matches() ) { String group1 = matcher.group( 1 ); String group2 = matcher.group( 2 ); }