gpt4 book ai didi

正则表达式:在第一次出现字符(包括它)后获取字符串

转载 作者:行者123 更新时间:2023-12-04 17:51:25 25 4
gpt4 key购买 nike

我正在尝试从我的站点获取一些旧链接,以使用 301 重定向指令重定向到新链接。我需要完成的是删除字符串的第一部分,直到它匹配一个连字符并将其删除(包括连字符)

例子:

http://example.com/19731-la-preservacion-de-la-biodiversidad-es-crucial-para-frenar-la-desertificacion-en-zonas-aridas

http://example.com/633-afecta-la-crisis-alimentaria-ya-a-miles-de-personas

应该输出到:

http://example.com/la-preservacion-de-la-biodiversidad-es-crucial-para-frenar-la-desertificacion-en-zonas-aridas

http://example.com/afecta-la-crisis-alimentaria-ya-a-miles-de-personas

到目前为止我已经尝试过RewriteRule ^[^-|-](.*)$ $1RewriteRule ^([^-]*-)(.*)$ $1 但我似乎无法让它工作。

谢谢!

最佳答案

要获取某个字符第一次出现后的子字符串包括它,你可以使用 negated character class它将匹配除该字符以外的任何字符,然后您需要启动一个捕获组,将字符作为其中的第一个原子,并在之后添加 .*):

^[^-]*(-.*)$

这里,^[^-]*(-.*)$ 匹配整个字符串,第一个 - 和它登陆后的所有字符都在第 1 组($1 替换 RewriteRule)。

参见 regex demo

详情

  • ^ - 字符串的开始
  • [^-]* - - 以外的零个或多个字符(否定字符类)
  • (-.*) - 第 1 组 ($1):- 然后是任意 0+ 个字符
  • $ - 字符串结尾。

关于正则表达式:在第一次出现字符(包括它)后获取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44511419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com