Java 匹配以不同文本开头和结尾的字符串

Java 匹配以不同文本开头和结尾的字符串,java,regex,Java,Regex,我对正则表达式非常陌生。 我有一个文本“猫/1.39 bla,狗” 我知道“^”用于匹配以某物开头的字符串,$用于匹配以某物结尾的字符串 这就是我能写的- cat/[^\s;]-->匹配“cat/1.39 bla,monkey” 但是“cat/[^\s;].*dog$”与以cat开头并以dog结尾的字符串不匹配 谢谢您的帮助。^cat..*dog$ 这应该对你有用。你可以测试一下 此外,使用单词边界检查答案是否有错误 猫/[^,\s;].*狗$ 请注意,单词“dog”后的空格将导致正则表达式失败

我对正则表达式非常陌生。 我有一个文本“/1.39 bla,” 我知道“^”用于匹配以某物开头的字符串,$用于匹配以某物结尾的字符串

这就是我能写的-

cat/[^\s;]-->匹配“cat/1.39 bla,monkey” 但是“cat/[^\s;].*dog$”与以cat开头并以dog结尾的字符串不匹配


谢谢您的帮助。

^cat..*dog$

这应该对你有用。你可以测试一下

此外,使用单词边界检查答案是否有错误

猫/[^,\s;].*狗$

请注意,单词“dog”后的空格将导致正则表达式失败。因此,如果您的字符串是“cat/1.39bla,dog”,那么您的正则表达式(以及其他人发布的“^cat.*dog$”将失败

还要记住,括号[]内和前面的“^”字符表示匹配括号[]内的内容以外的任何内容。因此,[^,\s;]将在这些字符中的任何一个处停止。因此,如果您有一个类似“cat/1.39 bla,dog”的字符串,正则表达式将一直进行到“,”字符并停止。在您的情况下,“*”应该仍然允许你继续,直到你找到“狗”


您可以测试正则表达式。请注意,第一行不匹配,因为我在单词dog之后添加了空格字符。

谢谢。我尝试了。但没有work@user1799214请发布您的代码。@user1799214
“cat/1.39 bla,dog”。匹配项(“^cat.*dog$”)
返回true。。。