我在Java String中有一个多行XML blob,我想从中获取一些值。我知道正则表达式和XML混合了原油和意大利面,但我保证我真的不会尝试任何复杂的事情。
示例XML object
字符串:
<ObjectDto>
<created>1313825589244</created>
<description>description</description>
<id>649</id>
<isFoo>true</isFoo>
<ObjectDto>
我想要的是object.matches("<isFoo>true</isFoo>")
评估为true
。我已经尝试在.*
中包裹正则表达式的内容(以及[\n.]*
,以防新线投掷它),但没有快乐。
为什么不匹配?
答案 0 :(得分:1)
我没有足够匹配换行符,启用DOTALL (?s).*<isFoo>true</isFoo>.*
修复它。
答案 1 :(得分:-1)
因为您还没有阅读文档。
尝试将整个输入序列与模式匹配。
如果匹配成功,则可以通过获得更多信息 开始,结束和分组方法。
您应该在开头和结尾添加一个非贪婪的点运算符,或者只使用find()
方法。