2014-12-23 169 views
1

我想匹配与该组字“酒店”,那么一个连字符,那么任何长度的字,然后又连字符和最后一个号码的任何长度的开始串。Java的正则表达式 - 在字符串中查找特定的字符串

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

进一步编辑:拟订迪马的答案,将捕获组,使它更容易找回输入到信息,并纠正了最后一位只接受数字:

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

+2

“hotel-something”有什么问题?为什么这不好? –

+1

这可能是:'^酒店 - + - +'或'等效酒店^( - +){2} – Dima

+0

请保留原来的问题,所以它可以为别人有用。 –

回答

1

如果你想匹配输入的开始,您使用^

所以如果你有^hotel-\b,这将迫使hotel在字符串的开始。

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

2
^hotel-(.)*$ 

(但酒店 - 事情会工作,根据您的初始声明)。

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

hotel-XXXXXX-YYYYYYY 

那么正则表达式是:

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

尝试正则表达式在线测试仪象http://www.regextester.com/

相关问题