Java正则表达式问题

Java正则表达式问题,java,regex,Java,Regex,我对java正则表达式有一个问题。我有点像 com/products/id/response.html 我希望id为Aa Zz 0-9中的任何内容,我已尝试: com/products/A-Za-z0-9]+/response.html 但是没有成功,但是在这种情况下 com/products/A-Za-z0-9]+.html 它工作得很好。。。 你知道我在哪里出错了吗?你漏掉了第一个括号,所以它应该是这样的: com/products/[A-Za-z0-9]+/response[.]ht

我对java正则表达式有一个问题。我有点像

com/products/id/response.html
我希望id为Aa Zz 0-9中的任何内容,我已尝试:

com/products/A-Za-z0-9]+/response.html
但是没有成功,但是在这种情况下

com/products/A-Za-z0-9]+.html
它工作得很好。。。
你知道我在哪里出错了吗?

你漏掉了第一个括号,所以它应该是这样的:

com/products/[A-Za-z0-9]+/response[.]html
  • 字符类是
    […]
    ,您缺少
    [
  • 你得逃开点
  • Jave需要
    \
    才能逃逸
您可以使用此正则表达式:

com/products/[A-Za-z0-9]+/response\\.html
  • 您可能还需要使用锚定
    ^
    $

我倾向于这样做[。]所以我不会用\\攻击我自己。另外,如果你试图在sed、Javascript或Perl中使用这个正则表达式,前斜杠也需要转义。是的,这对Javascript是正确的,但是你可以在Perl/sed中使用另一个分隔符来避免在替换命令中转义。谢谢你指出我,但是它似乎仍然不起作用ave测试是单独的,它可以工作,似乎是我的其他组件有什么问题,使这个失败。谢谢你的回答