从数组列表的每一行中提取正则表达式并打印出来

时间:2018-10-22 19:04:03

标签: java arrays regex

我似乎无法从数组列表中提取与我的正则表达式匹配的字符串。 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");
               }


                 }

0 个答案:

没有答案