【发布时间】:2012-04-16 09:31:13
【问题描述】:
我正在尝试解决一个相当简单的问题,但无法完全弄清楚如何正确使用正则表达式。我想从(括号)之间的文本文件中提取任何单词。这是我正在进行的尝试。任何朝着正确方向的推动都将不胜感激!
public class Reader {
public static void main(String[] args) {
List<String> matchList = new ArrayList<String>();
Pattern regex = Pattern.compile("\\{([^}]*)\\}");
try{
BufferedReader bufferedReader = new BufferedReader(new FileReader("test2.txt"));
while(bufferedReader.readLine()!=null)
{
String parseMe = bufferedReader.readLine();
Matcher regexMatcher = regex.matcher(parseMe);
while (regexMatcher.find())
{
matchList.add(regexMatcher.group());
}
}
System.out.println(matchList);
}catch(IOException e){};
}
}
【问题讨论】:
-
以上代码的结果是什么?
-
有什么问题?另外,至少在你的 catch 块中打印堆栈跟踪:这样吞咽会让你自己很难调试。
-
你说的是大括号'{}'还是括号'()'?
-
当我运行这段代码时,我得到一个空列表。我还试图提取 ( ) 中的单词