不要选择这样的网址:
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]+)/).) *$
我扩展了你的正则表达式:现在它应该可以工作了。它还会忽略带有“cat”和“dog”字样的 URL。
^((?!/([\d]+)/|cat|dog).)*$
但这是我的正则表达式版本:
它应该做同样的事情,但性能更高:
^(?:(?>[^/]+)(?<!\d|dog|cat)(?>/*))*$
说明:
(?>...)
表示正则表达式完全匹配 ...
并防止回溯。(?:...)
正则表达式不捕获(...)