Java正则表达式-在字符串中查找特定字符串

Java正则表达式-在字符串中查找特定字符串,java,regex,string,Java,Regex,String,我试图匹配一个字符串,该字符串以单词hotel开头,然后是连字符,然后是任意长度的单词,然后是另一个连字符,最后是任意长度的数字 编辑:迪玛在这个问题的评论中给出了我需要的解决方案!谢谢迪玛 进一步编辑:详细说明Dima的答案,添加捕获组以更容易检索输入的信息,并更正最后一位,使其仅接受数字: ^hotel-.+-\d+如果要匹配输入的开头,请使用^ 因此,如果有^hotel-\b,这将强制hotel位于字符串的开头 请注意,您可以用类似的方式使用$作为字符串的结尾。如果要匹配输入的开头,请使用

我试图匹配一个字符串,该字符串以单词hotel开头,然后是连字符,然后是任意长度的单词,然后是另一个连字符,最后是任意长度的数字

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

进一步编辑:详细说明Dima的答案,添加捕获组以更容易检索输入的信息,并更正最后一位,使其仅接受数字:


^hotel-.+-\d+

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

因此,如果有^hotel-\b,这将强制hotel位于字符串的开头


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

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

\bhotel-[^\s-]+-[^\s-]+\b
因此,如果有^hotel-\b,这将强制hotel位于字符串的开头

值得注意的是,您可以用类似的方式使用$作为字符串的结尾

\bhotel-[^\s-]+-[^\s-]+\b
\b的意思是它应该是一个单词boundery

[^\s-]表示除-或空白以外的任何内容

\b的意思是它应该是一个单词boundery

[^\s-]表示除-或空白以外的任何内容

但是根据你最初的陈述,有些东西会起作用的

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

hotel-XXXXXX-YYYYYYY
那么正则表达式是:

^hotel-(.)*-(.)*$
试试像这样的正则表达式在线测试程序

但是根据你最初的陈述,有些东西会起作用的

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

hotel-XXXXXX-YYYYYYY
那么正则表达式是:

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

试试像这样的正则表达式在线测试程序

酒店有什么问题吗?为什么这样不好?这可能是:^hotel-.+-.+或等效的“^hotel-.+{2,}请保留原始问题,以便对其他人有用。呜呜,我并不是要删除整个问题,我只是想让它更简洁。hotel有什么问题吗?为什么这样不好?这可能是:^hotel-.+-.+或等效的“^hotel-.+{2,}请保留原始问题,以便对其他人有用。呜呜,我不是要删除整个问题,我只是想让它更简洁