需要特定模式的正则表达式

Need regex for a specific pattern

我需要符合以下模式的正则表达式

字符串必须匹配 '/ashok/.....' 但不应该与 '/ashok/...:...' 和 '/ashok/file:abc...'

例如:/ashok/xyz 应该匹配 但 /ashok/file:abc.jpg 不应该。

第二个正斜杠后不应出现冒号

我不确定我是否理解您的要求。但是你可以试试负前瞻:

/\/ashok\/(?!.*:).+/g

如果第二个正斜杠后没有出现冒号,这将只匹配 /ashok/xyz。此正则表达式要求第二个正斜杠后至少有一个非冒号字符。如果没有必要,您可以使用:

/\/ashok\/(?!.*:).*/g

您可以阅读这篇文章 page 以了解更多关于负面前瞻(以及一般的环视)的信息。

编辑

或者,如果您的主题字符串应该只包含您的构造的一个实例而没有其他任何东西,您可以使用它来避免环顾四周:

/^\/ashok\/[a-z0-9]+$/i

或者,如果您需要它匹配一组以上以正斜杠分隔的字母数字字符:

/^\/ashok(?:\/[a-z0-9]+)+$/i