Java - 正则表达式匹配两个/

时间:2011-04-04 07:18:27

标签: java regex

我需要匹配所有传入的请求,并根据请求URL过滤掉某些请求。目前,我正在尝试使用/app/webapp/users/*/resource/path之类的正则表达式来匹配/app/webapp/users/<some_user_id>/resource/path。但是没有一个传入的请求似乎与正则表达式匹配。我试图使用的正则表达式有什么问题? (我正在使用String类'匹配方法进行比较。)

1 个答案:

答案 0 :(得分:5)

/*/看起来更像是一个glob而不是一个正则表达式。这将匹配任意数量的斜杠,而我希望你希望它匹配斜杠之间的任意数量的字符。如果你想让它只匹配一个级别(例如/ app / webapp / users / foo / bar / baz / resource / path不匹配),请尝试/.+/,或者可能/[^/]+/

编辑:正如约阿希姆所提到的,另一种只匹配单一级别的方法是使用/.+?/使其成为“不情愿”的匹配。