RegEx 应该匹配没有数字(0-9)和具体单词的 URL,例如猫和狗 [关闭]

问题描述 投票:0回答:1

不要选择这样的网址:

https://www.shalqlq.com/image/something/51227/
https://www.shalqlq.com/something/40392/video/51232/
https://www.something.com/cat/hello_world/
https://www.sxxxomething.com/dog/image/

但要选择

https://www.somethinxxxg.com/world/fin/
https://www.sometxhiaaxng.com/something/videbo/
https://www.shalqlq.com/image/something

我试过这个正则表达式,但它只忽略带有数字的 URL,我不知道如何添加单词 cat 和 dog 以排除它们 ^((?!/([\d]+)/).) *$

c# .net regex regex-group
1个回答
0
投票

我扩展了你的正则表达式:现在它应该可以工作了。它还会忽略带有“cat”和“dog”字样的 URL。

^((?!/([\d]+)/|cat|dog).)*$

但这是我的正则表达式版本: 它应该做同样的事情,但性能更高:

^(?:(?>[^/]+)(?<!\d|dog|cat)(?>/*))*$
说明:

  • (?>...)
    表示正则表达式完全匹配
    ...
    并防止回溯。
  • (?:...)
    正则表达式不捕获
    (...)
  • 内的匹配项
© www.soinside.com 2019 - 2024. All rights reserved.