我有一个文本文件,我迭代并希望检查每行中的多个子字符串(每行有一个子字符串)。正则表达式在一个字符串中的多个字符串
我正则表达式如下
String rE = "(AGG|TIP|IDV|DVY|IYR|LQD|HYG|EMB|ACWI|ACWX|EFA|SCZ|EEM|IWB|IWF|IWD|IWM|IWO|IWN|IWV|IVV|IVW|IVE|IJH|IJK|IJJ|MUB|IJR|IJS|IJT|SPY)"
和我的文本文件的行如下所示:
SPY,6696832,31080,140.7,400,140.69,140.69,6396960,299872
然而,当我这样做:
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
System.out.println("Starting");
while ((retStr = in.readLine()) != null) {
if(retStr.matches(tickers)){
System.out.println(retStr);
}
}
我没有找到我的字符串秒。
该代码编译和运行完美。我遍历该文件,但我从来没有找到我的结果。
我可以帮我解释一下我做错了什么吗?
'匹配(...)'必须匹配整个字符串。考虑显示更多文件行,以便我们可以看到必须分析的文本行的其他配置。 –
它在文档中说它将一个正则表达式作为参数:http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#matches(java.lang.String ) –
jason:我没有看到任何与该陈述不同的帖子或评论。 –