正则表达式排除斜杠字符

3

我有以下(虚构的)字符串,实际上是URL的一部分:

methods/english
methods/english/dummy

我希望我的正则表达式排除那些在 english 后面有斜杠的字符串。因此,第二个字符串不应该匹配该正则表达式。

我尝试了这个正则表达式:

/methods/.*/[^/]

这样就可以排除斜杠字符。

但是按照这个逻辑,它仍然与methods/english/dummy匹配。我想不出为什么。


如果你使用的工具支持负向预查,则可以使用^(?!.*english\/).+ - markalex
1
听起来你想要^methods/[^/]+$。字符串以methods/开头,然后包含一个或多个字符(不包括/)直到字符串末尾。 - Wiktor Stribiżew
@WiktorStribiżew 感谢您的回复,看起来非常合理,但当我在我的正则表达式调试器中尝试时,它仍然没有排除第二个字符串... 它与两个字符串匹配。 - Rosalie Haverkort
你的正则表达式调试器是什么?你知道如何使用它吗?首先在真实环境中尝试。大多数人在模式中使用否定字符类时都无法正确使用“正则表达式调试器”,相信我。 - Wiktor Stribiżew
请看 https://regex101.com/r/98cNlk/1,这里有什么问题? - Wiktor Stribiżew
显示剩余4条评论
1个回答

1

您可以使用

^methods/[^/]+$

请查看正则表达式演示

细节

  • ^ - 字符串的开头
  • methods/ - 一个字面字符串
  • [^/]+ - 一个或多个字符,不包括/
  • $ - 字符串的结尾。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接