如果我只给出例子,这可能是最简单的......
我的输入数据如下所示:
/foo/blah/something/this
还有一些看起来像这样:
/foo/blah/this
我需要一个正则表达式来匹配后者,但不匹配前者。
换句话说:
/foo/*/this
应匹配/foo/*/*/this
应该不匹配
“foo”是一个静态值,这意味着它始终是“foo”和“this”是相同的。 “blah”和“something”代表可以是任何东西的变量。
因此,以下字符串应该与我的正则表达式匹配:
/foo/john/jones
/foo/james/jones
/foo/steven/jones
/foo/samantha/jones
但以下字符串不应匹配:
/foo/john/paul/jones
/foo/james/earl/jones
/foo/steven/james/jones
/foo/samantha/wilson/jones
有什么帮助吗?
最佳答案
^/foo/[^/]+/[^/]+$
如果您想让 /foo//jones
等内容正常工作,可以将 [^/]+
替换为 [^/]*
也是如此。
关于java - 正则表达式将表达式与一定数量/模式的斜杠相匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25127259/