简单的Java正则表达式匹配失败

时间:2014-04-12 19:58:11

标签: java regex matcher

之前,所有人都跳过我发布类似于先前问题的内容,是的,似乎有许多正则表达式相关的问题,但似乎没有任何帮助我,或者至少我能看到的。< / p>

我正在尝试使用PATTERNMATCHER在JAVA中解析字符串,我真的没有快乐。当我使用一些在线正则表达式测试网站时,我的正则表达式似乎与我的输入字符串匹配,但Java与我的表达式不匹配。

我的输入字符串是:

"Big apple" title="Little Apple" type="Container" url="http://malcolm.com/testing"

我用来匹配的正则表达式是".*" title="(.*)" type="Container" url="(.*)"

基本上我想在第二组和第四组引号中提取文本。内部和周围总会有4组带引号的引号。

我编码如下:

变量XMLSubstring包含上面的字符串(包括引号),如上所述,即使我打印出来也是如此。

Pattern p = Pattern.compile(".* title=\"(.*)\" type=\"Container\" url=\"(.*)\"");

m = p.matcher(XMLSubstring);

它似乎不是火箭科学我尝试但是我试着调试血腥的东西。

我的正则表达式模式有问题吗? 我使用的代码有什么问题吗? 我只是一个白痴,应立即停止编码吗?

EDIT&amp;更新:我发现了问题。我的字符串在它的末尾有一个空格,它破坏了解析器!多么愚蠢,我认为基于此,我需要接受我的第三个建议并放弃编程。谢谢大家的帮助。

1 个答案:

答案 0 :(得分:3)

试试这个,

    String str="\"Big apple\" title=\"Little Apple\" type=\"Container\" url=\"http://malcolm.com/testing\"";

    Pattern p=Pattern.compile(".* title=\\\".*\\\" type=\\\"Container\\\" url=\\\".*\\\"");
    Matcher m=p.matcher(str);