Java检查字符串是否包含int:int

Java检查字符串是否包含int:int,java,regex,Java,Regex,我需要检查字符串是否包含number:number,但我找不到如何包含 if(args[0] contains int:int){ code } 尝试 但它告诉我 Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ ) 好的,这是正确的。我把它留在这里,以防对任何人有用 注意:此解决方案假定args[0]不包含换行符。那么,简单的正则表达式是“\\d+:\\d+” 如果 这就是你所允许的 我认

我需要检查字符串是否包含number:number,但我找不到如何包含

if(args[0] contains int:int){
    code
}
尝试

但它告诉我

Invalid escape sequence (valid ones are  \b  \t  \n  \f  \r  \"  \'  \\ )
好的,这是正确的。我把它留在这里,以防对任何人有用


注意:此解决方案假定args[0]不包含换行符。

那么,简单的正则表达式是
“\\d+:\\d+”

如果
这就是你所允许的

我认为match验证了整个字符串。
如果你需要匹配,它可以在中间,这样的事情可能会起作用。
“^(?s)。*\\d+:\\d+.*$”
^$
锚定可能是隐式的。

也许你自己做一点研究?在google上快速搜索“如果一个字符串包含一个数字”就足够了,有人知道google了吗?可能是重复的-旁注:不是完全重复,但有很多可以尝试的。他有一个额外的字符,所以很接近,但我想可能有点不同。他说包含,而不是匹配。根据他的规范,您可能需要在正则表达式的开头和结尾添加额外的字符。还可以添加额外的斜杠以转义现有的字符。在发布答案之前测试答案。@markspace抱歉,我对java的细节不太熟悉。我的印象是,如果我不使用^和$,这就不需要了。我已经将代码改为使用contains而不是matches。正如@markspace正确指出的,matches将尝试匹配整个字符串。
Invalid escape sequence (valid ones are  \b  \t  \n  \f  \r  \"  \'  \\ )
if (args[0].matches(".*\\d+:\\d+.*")) {
    ...