我是一个完全新手,但我实际上是在尝试编写一个正则表达式来自动重定向网站。
我正试图让imgur总是重定向到网格视图,而我却陷入困境。
到目前为止,我已^https?://imgur\.com/a/((?!.*/layout/grid$).*)
重定向到https://imgur.com/a/$1/layout/grid
。通过指定字符串必须以/layout/grid/
结尾,这是我能够让它不被卡住并在网址末尾添加多行的唯一方法。
我基本上陷入困境,有时,专辑网址最后会有一些无关紧要的内容,需要将其删除。例如,https://imgur.com/a/L7D9i#0
。在我添加/layout/grid/
之前,我需要摆脱#及其后的所有内容,否则它无效。我试图将其拆分为两个,但我无法弄清楚如何使表达式匹配不以layout/grid
或#\d
结尾的字符串。这是我得到的,但它不起作用:^https?://imgur\.com/a/(?!(/layout/grid$|.*#\d$).*)
很抱歉,如果这是非常基本的或者其他什么,我实际上并不知道正则表达式,我管理的所有内容都来自谷歌,所以我甚至不太了解我正在使用的语法。
答案 0 :(得分:1)
您的表达方式与您刚刚拥有/layout/grid
时的表达方式不同。我的意思是,括号被移位而.*
缺失。正确的表达方式是:
^https?://imgur\.com/a((?!.*/layout/grid$).*)(?=#)
原始表达似乎甚至没有尝试剃掉它;如果匹配有#
,则会导致匹配失败。虽然,如果那是你想要的,请使用:
https?://imgur\.com/a((?!(.*/layout/grid$|.*#)).*)