Java Regex - 在String中查找特定字符串

时间:2014-12-23 18:33:31

标签: java regex string

我正在尝试匹配以设置词" hotel"开头的字符串,然后是连字符,然后是任意长度的单词,然后是另一个连字符,最后是任意长度的数字。

编辑:Dima在这个问题的评论中提供了我需要的解决方案!谢谢迪马。

进一步编辑:详细说明Dima的答案,添加捕获组,以便更轻松地检索输入的信息,并将最后一位更正为仅接受数字:

^hotel-(.+)-(\d+)

3 个答案:

答案 0 :(得分:2)

^hotel-(.)*$

(但根据你的初步声明,酒店会有所作为。)

所以,如果你真的想要这样的东西:

hotel-XXXXXX-YYYYYYY

然后正则表达式是:

^hotel-(.)*-(.)*$

尝试像http://www.regextester.com/这样的正则表达式在线测试程序。

答案 1 :(得分:1)

如果您想匹配输入的开头,请使用^

所以,如果您有^hotel-\b,则会强制hotel位于字符串的开头。

作为注释,您可以以类似的方式使用$作为字符串的结尾。

答案 2 :(得分:1)

\bhotel-[^\s-]+-[^\s-]+\b

\b表示它应该是一个单词boundery

[^\s-]表示除-或空白

之外的任何内容

https://regex101.com/r/mH3vY8/1