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

时间:2015-05-26 17:09:54

标签: java regex

我对正则表达式很新。 我有一个文字“ /1.39 bla,” 我知道^用于匹配以某些东西开头的字符串,而$用于匹配以某些东西结尾的东西。

这是我能写的 -

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

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

^猫.. *狗$

这对你有用。您可以测试here

另外,请使用字边界检查this答案。

答案 1 :(得分:0)

  

猫/ [^ \ S;]。*狗$

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

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

另外

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