java - 正则表达式将表达式与一定数量/模式的斜杠相匹配

标签 java regex

如果我只给出例子,这可能是最简单的......

我的输入数据如下所示:

/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/

相关文章:

Java 哈希表并发

java - 我可以在java中获得2种继承类型的类的列表吗?

java - 在 Java 中使用 BUNDLE 进行 WebRTC 复用

javascript - 将规则应用于文本,但不在 div 或元素内

regex - 使用点匹配所有模式的正则表达式

regex - 从标记数据集中提取正则表达式的技术

java - jdbi调用设置参数错误

regex - 如何提取从行首到特定字符串的所有内容?

javascript - 修复 Javascript 中的常见 URL 错误

java - 参数化方法调用何时有用?