Java 正则表达式总是返回false

Java 正则表达式总是返回false,java,regex,string,pattern-matching,Java,Regex,String,Pattern Matching,我有一个问题,得到一个正则表达式得到工作 我使用XMLRPC库从wiki获取信息 到目前为止还不错 将数据检索到字符串变量后,我希望使用正则表达式进行搜索,但匹配器将始终返回“false” 但是如果我问字符串…包含(“xyz”);答案是正确的 字符串看起来像这样: =========Datensicherheit=========“Kriterium von Sicherheit”类型:技术定义:\//Allgemein 有人知道我做错了什么吗?请注意,matches()在且仅当整个区域序列匹配

我有一个问题,得到一个正则表达式得到工作

我使用XMLRPC库从wiki获取信息

到目前为止还不错

将数据检索到字符串变量后,我希望使用正则表达式进行搜索,但匹配器将始终返回“false”

但是如果我问字符串…包含(“xyz”);答案是正确的

字符串看起来像这样:

=========Datensicherheit=========“Kriterium von Sicherheit”类型:技术定义:\//Allgemein

有人知道我做错了什么吗?

请注意,
matches()
在且仅当整个区域序列匹配此匹配器的模式时返回true。请参阅java doc@

因此,只有当整个“文本”区域与“定义”匹配时才是真的,这不太可能:)


请尝试
find()
,如果且仅当从给定索引开始的输入序列的子序列与此匹配器的模式匹配时,此选项才为真。

这是您的正则表达式的问题。如果您想知道字符串是否包含“Definition”,您的正则表达式需要:

String regex = ".*Definition.*";

您是否阅读了
matches()
的Javadocs?关于
text.contains(“Definition”)
?为什么要用Python标记它?很好:)我们都在调试时获得了隧道视觉,有时会错过一个文档。这仍然会使用matches()函数。John使用find()的答案可能更精确。
String regex = ".*Definition.*";