【发布时间】:2015-03-21 12:45:28
【问题描述】:
模式行不断抛出空指针,我不知道为什么。我尝试使用Pattern.quote,但结果如下:
Pattern p: \Q.*(bread){1, 1}.{1, 1}(bread){1, 1}.*\E|java.util.regex.Matcher[pattern=\Q.*(bread){1, 1}.{1, 1}(bread){1, 1}.*\E region=0,13 lastmatch=]
这完全不是应该的。我想返回两个bread 子字符串之间的字符串。
public String getSandwich(String str) {
Pattern p = Pattern.compile(".*(bread){1, 1}(.{1, 1})(bread){1, 1}.*");
Matcher m = p.matcher(str);
if (m.find()) {
return m.group(2);
} else {
return "";
}
}
有什么想法吗?
【问题讨论】:
-
你的输入字符串是什么?格式化您的错误消息。
-
在正则表达式模式中,所有字符都是重要的,包括空格,其他像
{n,n}这样的量词可以缩短为{n},写{1}是没用的。
标签: java regex string exception null