【发布时间】:2014-10-27 19:32:51
【问题描述】:
我遇到了 Java 正则表达式问题。我需要匹配的字符串遵循以下模式:378-Columbian Forecast Yr-NB-Q-Columbian_NB 我需要提取第一个和第二个- 之间的内容。
Pattern modelRegEx = Pattern.compile("[^-]{15,}[^-]");
Matcher m = modelRegEx.matcher(temp);
String model = m.group(0);
这是我对这个正则表达式 [^-]{15,}[^-] 的推理:
我只想要连字符之间的内容,所以我使用了[^-]。连字符之间有多个文本实例,所以我选择了一个足够大的数字,它不会在较小的匹配项上出现。所以我用{15,}
我的错误:
Exception in thread "main" java.lang.IllegalStateException: No match found
at java.util.regex.Matcher.group(Matcher.java:496)
at alfaSpecificEditCheck.tabTest.main(tabTest.java:21)
当我在这里针对字符串测试我的正则表达式模式时:http://regexpal.com/ 匹配的模式。当我使用这个测试器更专门针对 Java (http://www.regexplanet.com/advanced/java/index.html) 进行测试时,结果是找不到匹配项。
【问题讨论】: