我似乎无法从数组列表中提取与我的正则表达式匹配的字符串。 Array-List包含由Buffered Reader读取的逐行字符串。我可以系统打印出字符串并查看它们,但是当我使用正则表达式时,找不到并失败了。
我的目标是:
1个遍历数组
2个匹配项/模式
3-系统仅打印正则表达式匹配项
例如,我的数组在每一行中都包含这样的字符串 亚特兰大 lawiat,3DD,4FF,KKL
我使用的reg表达式是(\ s * [az] +)|([az] + \ s *,),这是为了选择逗号之前的第一个字符集(iatbbb),而不是(iatbbb)。目标是将第一个字符集写入文件,然后将逗号写入,然后将3个字符写入另一个文件。但是,现在我只是试图将它们的第一部分打印在eclipse控制台中。
我不知道自己可能做错了什么,因此我不熟悉使用火柴和模式火柴,将不胜感激。
ArrayList<String> wfnold = new ArrayList<>();// array that holds strings
String clientRegex = "(\\s*[a-z]+)|([a-z]+\\s*)";
Pattern p = Pattern.compile(clientRegex);
for (String s: wfnold) {
if (p.matcher(s).matches()){
System.out.println(s);
}else{
System.out.println("fail");
}
}