我是一名Java新手,我有一个文本文件,其中包含以下信息:
[123 B, 253 D, 27 A, 164 F, ...]
然后我试图将有用的信息(只是商店编号和样式编号)放入一组并打印出来,设置应该是这样的:
Set<String> setStoreStyle = new HashSet<String>();
Pattern patternStoreStyle = Pattern.compile("Store (.+?) has cloth style(.+?).");
FileInputStream fstream = new FileInputStream(MyTextfilePath);
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
for (String line = br.readLine(); line != null; line = br.readLine()){
Matcher matcherStoreStyle = patternStoreStyle.matcher(line);
if(matcherStoreStyle.find()){
String a = matcherStoreStyle.group(1);
setStoreStyle.add(a);
}
}
br.close();
System.out.println(setStoreStyle);
我试过了:
[123, 253, 27, 164, ...]
但我得到了
gulp.src('handlebars/pagetemplate.hbs')
.pipe( handlebars(dataSrc1, options) )
.pipe( handlebars(dataSrc2, options) )
.pipe( rename('page.html') )
.pipe( gulp.dest('outputfolder/') );
有任何想法要解决它吗?
答案 0 :(得分:1)
您可以访问第一个捕获组,但不能访问第二个捕获组:
String a = matcherStoreStyle.group(1) + " " + matcherStoreStyle.group(2);
另外,正如@WictorStribizew所说,你应该逃避模式中的最后一个.
,以便它匹配一个文字句点,而不是任何字符。