在你们之前发布类似于前面提出的问题的提示之前,似乎有很多与正则表达式相关的问题,但似乎没有任何东西可以帮助我,或者至少我可以看到。简单的Java正则表达式匹配失败
我想解析字符串在JAVA使用PATTERN
和MATCHER
,我真的没有喜悦。当我使用一些在线正则表达式测试网站时,我的正则表达式似乎与我的输入字符串匹配,但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);
它不会似乎是火箭科学,我尝试,但我拉我的头发试图调试血腥的东西。
我的正则表达式模式有什么问题吗? 我使用的代码有问题吗? 我只是一个白痴,应该立即停止编码?
编辑&更新:我发现了这个问题。我的字符串在它的末尾有一个空格,它打破了解析器!多么愚蠢,我认为基于此,我需要接受我的第三个建议并放弃编程。非常感谢您的协助。
此外,您需要使用两个反斜杠\\到Java正则表达式中的转义字符。你应该首先阅读[Pattern的文档](http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html)... – jahroy
感谢jahroy的反馈。事实上,我的发帖在所有三个位置都有,但不知何故,当我的问题发布时,前两个*不显示。 – Malcolm
我的模式是“。*”title =“(。*)”type =“Container”url =“(。*)” – Malcolm