之前,所有人都跳过我发布类似于先前问题的内容,是的,似乎有许多正则表达式相关的问题,但似乎没有任何帮助我,或者至少我能看到的。< / p>
我正在尝试使用PATTERN
和MATCHER
在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;更新:我发现了问题。我的字符串在它的末尾有一个空格,它破坏了解析器!多么愚蠢,我认为基于此,我需要接受我的第三个建议并放弃编程。谢谢大家的帮助。
答案 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);